Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
73 changes: 39 additions & 34 deletions internal/services/cosmos/client/client.go
Original file line number Diff line number Diff line change
Expand Up @@ -19,29 +19,28 @@ import (
)

type Client struct {
ClustersClient *clusters.ClustersClient
ConfigurationsClient *configurations.ConfigurationsClient
CosmosDBClient *cosmosdb.CosmosDBClient
FirewallRulesClient *firewallrules.FirewallRulesClient
ManagedCassandraClient *managedcassandras.ManagedCassandrasClient
MongoRBACClient *mongorbacs.MongorbacsClient
RolesClient *roles.RolesClient
SqlDedicatedGatewayClient *sqldedicatedgateway.SqlDedicatedGatewayClient

// Track 1
CassandraClient *documentdb.CassandraResourcesClient
ClustersClient *clusters.ClustersClient
ConfigurationsClient *configurations.ConfigurationsClient
CosmosDBClient *cosmosdb.CosmosDBClient
DatabaseClient *documentdb.DatabaseAccountsClient
FirewallRulesClient *firewallrules.FirewallRulesClient
GremlinClient *documentdb.GremlinResourcesClient
ManagedCassandraClient *managedcassandras.ManagedCassandrasClient
MongoDbClient *documentdb.MongoDBResourcesClient
MongoRBACClient *mongorbacs.MongorbacsClient
NotebookWorkspaceClient *documentdb.NotebookWorkspacesClient
RestorableDatabaseAccountsClient *documentdb.RestorableDatabaseAccountsClient
RolesClient *roles.RolesClient
SqlDedicatedGatewayClient *sqldedicatedgateway.SqlDedicatedGatewayClient
SqlClient *documentdb.SQLResourcesClient
SqlResourceClient *documentdb.SQLResourcesClient
TableClient *documentdb.TableResourcesClient
}

func NewClient(o *common.ClientOptions) (*Client, error) {
cassandraClient := documentdb.NewCassandraResourcesClientWithBaseURI(o.ResourceManagerEndpoint, o.SubscriptionId)
o.ConfigureClient(&cassandraClient.Client, o.ResourceManagerAuthorizer)

managedCassandraClient, err := managedcassandras.NewManagedCassandrasClientWithBaseURI(o.Environment.ResourceManager)
if err != nil {
return nil, fmt.Errorf("building Managed Cassandra client: %+v", err)
Expand All @@ -66,33 +65,18 @@ func NewClient(o *common.ClientOptions) (*Client, error) {
}
o.Configure(cosmosdbClient.Client, o.Authorizers.ResourceManager)

databaseClient := documentdb.NewDatabaseAccountsClientWithBaseURI(o.ResourceManagerEndpoint, o.SubscriptionId)
o.ConfigureClient(&databaseClient.Client, o.ResourceManagerAuthorizer)

firewallRulesClient, err := firewallrules.NewFirewallRulesClientWithBaseURI(o.Environment.ResourceManager)
if err != nil {
return nil, fmt.Errorf("building FirewallRules client: %+v", err)
}
o.Configure(firewallRulesClient.Client, o.Authorizers.ResourceManager)

gremlinClient := documentdb.NewGremlinResourcesClientWithBaseURI(o.ResourceManagerEndpoint, o.SubscriptionId)
o.ConfigureClient(&gremlinClient.Client, o.ResourceManagerAuthorizer)

mongoDbClient := documentdb.NewMongoDBResourcesClientWithBaseURI(o.ResourceManagerEndpoint, o.SubscriptionId)
o.ConfigureClient(&mongoDbClient.Client, o.ResourceManagerAuthorizer)

mongorbacsClient, err := mongorbacs.NewMongorbacsClientWithBaseURI(o.Environment.ResourceManager)
if err != nil {
return nil, fmt.Errorf("building Mongorbacs client: %+v", err)
}
o.Configure(mongorbacsClient.Client, o.Authorizers.ResourceManager)

notebookWorkspaceClient := documentdb.NewNotebookWorkspacesClientWithBaseURI(o.ResourceManagerEndpoint, o.SubscriptionId)
o.ConfigureClient(&notebookWorkspaceClient.Client, o.ResourceManagerAuthorizer)

restorableDatabaseAccountsClient := documentdb.NewRestorableDatabaseAccountsClientWithBaseURI(o.ResourceManagerEndpoint, o.SubscriptionId)
o.ConfigureClient(&restorableDatabaseAccountsClient.Client, o.ResourceManagerAuthorizer)

rolesClient, err := roles.NewRolesClientWithBaseURI(o.Environment.ResourceManager)
if err != nil {
return nil, fmt.Errorf("building Roles client: %+v", err)
Expand All @@ -105,6 +89,25 @@ func NewClient(o *common.ClientOptions) (*Client, error) {
}
o.Configure(sqlDedicatedGatewayClient.Client, o.Authorizers.ResourceManager)

// Track 1
cassandraClient := documentdb.NewCassandraResourcesClientWithBaseURI(o.ResourceManagerEndpoint, o.SubscriptionId)
o.ConfigureClient(&cassandraClient.Client, o.ResourceManagerAuthorizer)

databaseClient := documentdb.NewDatabaseAccountsClientWithBaseURI(o.ResourceManagerEndpoint, o.SubscriptionId)
o.ConfigureClient(&databaseClient.Client, o.ResourceManagerAuthorizer)

gremlinClient := documentdb.NewGremlinResourcesClientWithBaseURI(o.ResourceManagerEndpoint, o.SubscriptionId)
o.ConfigureClient(&gremlinClient.Client, o.ResourceManagerAuthorizer)

mongoDbClient := documentdb.NewMongoDBResourcesClientWithBaseURI(o.ResourceManagerEndpoint, o.SubscriptionId)
o.ConfigureClient(&mongoDbClient.Client, o.ResourceManagerAuthorizer)

notebookWorkspaceClient := documentdb.NewNotebookWorkspacesClientWithBaseURI(o.ResourceManagerEndpoint, o.SubscriptionId)
o.ConfigureClient(&notebookWorkspaceClient.Client, o.ResourceManagerAuthorizer)

restorableDatabaseAccountsClient := documentdb.NewRestorableDatabaseAccountsClientWithBaseURI(o.ResourceManagerEndpoint, o.SubscriptionId)
o.ConfigureClient(&restorableDatabaseAccountsClient.Client, o.ResourceManagerAuthorizer)

sqlClient := documentdb.NewSQLResourcesClientWithBaseURI(o.ResourceManagerEndpoint, o.SubscriptionId)
o.ConfigureClient(&sqlClient.Client, o.ResourceManagerAuthorizer)

Expand All @@ -115,20 +118,22 @@ func NewClient(o *common.ClientOptions) (*Client, error) {
o.ConfigureClient(&tableClient.Client, o.ResourceManagerAuthorizer)

return &Client{
ManagedCassandraClient: managedCassandraClient,
ClustersClient: clustersClient,
ConfigurationsClient: configurationsClient,
CosmosDBClient: cosmosdbClient,
FirewallRulesClient: firewallRulesClient,
MongoRBACClient: mongorbacsClient,
RolesClient: rolesClient,
SqlDedicatedGatewayClient: sqlDedicatedGatewayClient,

// Track 1
CassandraClient: &cassandraClient,
ManagedCassandraClient: managedCassandraClient,
ClustersClient: clustersClient,
ConfigurationsClient: configurationsClient,
CosmosDBClient: cosmosdbClient,
DatabaseClient: &databaseClient,
FirewallRulesClient: firewallRulesClient,
GremlinClient: &gremlinClient,
MongoDbClient: &mongoDbClient,
MongoRBACClient: mongorbacsClient,
NotebookWorkspaceClient: &notebookWorkspaceClient,
RestorableDatabaseAccountsClient: &restorableDatabaseAccountsClient,
RolesClient: rolesClient,
SqlDedicatedGatewayClient: sqlDedicatedGatewayClient,
SqlClient: &sqlClient,
SqlResourceClient: &sqlResourceClient,
TableClient: &tableClient,
Expand Down
15 changes: 15 additions & 0 deletions internal/services/cosmos/cosmosdb.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
package cosmos

import "github.com/Azure/azure-sdk-for-go/services/cosmos-db/mgmt/2021-10-15/documentdb" // nolint: staticcheck

func isServerlessCapacityMode(accResp documentdb.DatabaseAccountGetResults) bool {
if props := accResp.DatabaseAccountGetProperties; props != nil && props.Capabilities != nil {
for _, v := range *props.Capabilities {
if v.Name != nil && *v.Name == "EnableServerless" {
return true
}
}
}

return false
}
Loading
Loading