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 index fc4ef2661cfd..6e99278108ed 100644 --- a/services/preview/sql/mgmt/2018-06-01-preview/sql/databases.go +++ b/services/preview/sql/mgmt/2018-06-01-preview/sql/databases.go @@ -48,7 +48,8 @@ func NewDatabasesClientWithBaseURI(baseURI string, subscriptionID string) Databa // 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) { +// replicaType - the type of replica to be failed over. +func (client DatabasesClient) Failover(ctx context.Context, resourceGroupName string, serverName string, databaseName string, replicaType ReplicaType) (result DatabasesFailoverFuture, err error) { if tracing.IsEnabled() { ctx = tracing.StartSpan(ctx, fqdn+"/DatabasesClient.Failover") defer func() { @@ -59,7 +60,7 @@ func (client DatabasesClient) Failover(ctx context.Context, resourceGroupName st tracing.EndSpan(ctx, sc, err) }() } - req, err := client.FailoverPreparer(ctx, resourceGroupName, serverName, databaseName) + req, err := client.FailoverPreparer(ctx, resourceGroupName, serverName, databaseName, replicaType) if err != nil { err = autorest.NewErrorWithError(err, "sql.DatabasesClient", "Failover", nil, "Failure preparing request") return @@ -75,7 +76,7 @@ func (client DatabasesClient) Failover(ctx context.Context, resourceGroupName st } // FailoverPreparer prepares the Failover request. -func (client DatabasesClient) FailoverPreparer(ctx context.Context, resourceGroupName string, serverName string, databaseName string) (*http.Request, error) { +func (client DatabasesClient) FailoverPreparer(ctx context.Context, resourceGroupName string, serverName string, databaseName string, replicaType ReplicaType) (*http.Request, error) { pathParameters := map[string]interface{}{ "databaseName": autorest.Encode("path", databaseName), "resourceGroupName": autorest.Encode("path", resourceGroupName), @@ -87,6 +88,9 @@ func (client DatabasesClient) FailoverPreparer(ctx context.Context, resourceGrou queryParameters := map[string]interface{}{ "api-version": APIVersion, } + if len(string(replicaType)) > 0 { + queryParameters["replicaType"] = autorest.Encode("query", replicaType) + } preparer := autorest.CreatePreparer( autorest.AsPost(), 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 index 6826ef42f89c..6a41d0d53f0b 100644 --- a/services/preview/sql/mgmt/2018-06-01-preview/sql/models.go +++ b/services/preview/sql/mgmt/2018-06-01-preview/sql/models.go @@ -166,6 +166,21 @@ func PossibleManagedServerCreateModeValues() []ManagedServerCreateMode { return []ManagedServerCreateMode{ManagedServerCreateModeDefault, ManagedServerCreateModePointInTimeRestore} } +// ReplicaType enumerates the values for replica type. +type ReplicaType string + +const ( + // Primary ... + Primary ReplicaType = "Primary" + // ReadableSecondary ... + ReadableSecondary ReplicaType = "ReadableSecondary" +) + +// PossibleReplicaTypeValues returns an array of possible values for the ReplicaType const type. +func PossibleReplicaTypeValues() []ReplicaType { + return []ReplicaType{Primary, ReadableSecondary} +} + // SecurityAlertPolicyState enumerates the values for security alert policy state. type SecurityAlertPolicyState string 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 index 141c762e5f0a..e448e7707d38 100644 --- 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 @@ -118,7 +118,7 @@ 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) + Failover(ctx context.Context, resourceGroupName string, serverName string, databaseName string, replicaType sql.ReplicaType) (result sql.DatabasesFailoverFuture, err error) } var _ DatabasesClientAPI = (*sql.DatabasesClient)(nil)