Skip to content

Commit

Permalink
Support auto-approval of Synapse managed private endpoints
Browse files Browse the repository at this point in the history
Signed-off-by: Owen Farrell <[email protected]>
  • Loading branch information
owenfarrell committed Oct 8, 2021
1 parent 4c929a9 commit 7c2fddb
Show file tree
Hide file tree
Showing 14 changed files with 1,168 additions and 76 deletions.
13 changes: 9 additions & 4 deletions internal/services/cognitive/client/client.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,9 @@ import (
)

type Client struct {
AccountsClient *cognitiveservices.AccountsClient
DeletedAccountsClient *cognitiveservices.DeletedAccountsClient
AccountsClient *cognitiveservices.AccountsClient
DeletedAccountsClient *cognitiveservices.DeletedAccountsClient
PrivateEndpointConnectionsClient *cognitiveservices.PrivateEndpointConnectionsClient
}

func NewClient(o *common.ClientOptions) *Client {
Expand All @@ -17,8 +18,12 @@ func NewClient(o *common.ClientOptions) *Client {
deletedAccountsClient := cognitiveservices.NewDeletedAccountsClientWithBaseURI(o.ResourceManagerEndpoint, o.SubscriptionId)
o.ConfigureClient(&deletedAccountsClient.Client, o.ResourceManagerAuthorizer)

privateEndpointConnectionsClient := cognitiveservices.NewPrivateEndpointConnectionsClientWithBaseURI(o.ResourceManagerEndpoint, o.SubscriptionId)
o.ConfigureClient(&privateEndpointConnectionsClient.Client, o.ResourceManagerAuthorizer)

return &Client{
AccountsClient: &accountsClient,
DeletedAccountsClient: &deletedAccountsClient,
AccountsClient: &accountsClient,
DeletedAccountsClient: &deletedAccountsClient,
PrivateEndpointConnectionsClient: &privateEndpointConnectionsClient,
}
}
37 changes: 21 additions & 16 deletions internal/services/cosmos/client/client.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,14 +6,15 @@ import (
)

type Client struct {
CassandraClient *documentdb.CassandraResourcesClient
DatabaseClient *documentdb.DatabaseAccountsClient
GremlinClient *documentdb.GremlinResourcesClient
MongoDbClient *documentdb.MongoDBResourcesClient
NotebookWorkspaceClient *documentdb.NotebookWorkspacesClient
SqlClient *documentdb.SQLResourcesClient
SqlResourceClient *documentdb.SQLResourcesClient
TableClient *documentdb.TableResourcesClient
CassandraClient *documentdb.CassandraResourcesClient
DatabaseClient *documentdb.DatabaseAccountsClient
GremlinClient *documentdb.GremlinResourcesClient
MongoDbClient *documentdb.MongoDBResourcesClient
NotebookWorkspaceClient *documentdb.NotebookWorkspacesClient
PrivateEndpointConnectionClient *documentdb.PrivateEndpointConnectionsClient
SqlClient *documentdb.SQLResourcesClient
SqlResourceClient *documentdb.SQLResourcesClient
TableClient *documentdb.TableResourcesClient
}

func NewClient(o *common.ClientOptions) *Client {
Expand All @@ -32,6 +33,9 @@ func NewClient(o *common.ClientOptions) *Client {
notebookWorkspaceClient := documentdb.NewNotebookWorkspacesClientWithBaseURI(o.ResourceManagerEndpoint, o.SubscriptionId)
o.ConfigureClient(&notebookWorkspaceClient.Client, o.ResourceManagerAuthorizer)

privateEndpointConnectionClient := documentdb.NewPrivateEndpointConnectionsClientWithBaseURI(o.ResourceManagerEndpoint, o.SubscriptionId)
o.ConfigureClient(&privateEndpointConnectionClient.Client, o.ResourceManagerAuthorizer)

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

Expand All @@ -42,13 +46,14 @@ func NewClient(o *common.ClientOptions) *Client {
o.ConfigureClient(&tableClient.Client, o.ResourceManagerAuthorizer)

return &Client{
CassandraClient: &cassandraClient,
DatabaseClient: &databaseClient,
GremlinClient: &gremlinClient,
MongoDbClient: &mongoDbClient,
NotebookWorkspaceClient: &notebookWorkspaceClient,
SqlClient: &sqlClient,
SqlResourceClient: &sqlResourceClient,
TableClient: &tableClient,
CassandraClient: &cassandraClient,
DatabaseClient: &databaseClient,
GremlinClient: &gremlinClient,
MongoDbClient: &mongoDbClient,
NotebookWorkspaceClient: &notebookWorkspaceClient,
PrivateEndpointConnectionClient: &privateEndpointConnectionClient,
SqlClient: &sqlClient,
SqlResourceClient: &sqlResourceClient,
TableClient: &tableClient,
}
}
25 changes: 15 additions & 10 deletions internal/services/mariadb/client/client.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,12 @@ import (
)

type Client struct {
ConfigurationsClient *mariadb.ConfigurationsClient
DatabasesClient *mariadb.DatabasesClient
FirewallRulesClient *mariadb.FirewallRulesClient
ServersClient *mariadb.ServersClient
VirtualNetworkRulesClient *mariadb.VirtualNetworkRulesClient
ConfigurationsClient *mariadb.ConfigurationsClient
DatabasesClient *mariadb.DatabasesClient
FirewallRulesClient *mariadb.FirewallRulesClient
PrivateEndpointConnectionClient *mariadb.PrivateEndpointConnectionsClient
ServersClient *mariadb.ServersClient
VirtualNetworkRulesClient *mariadb.VirtualNetworkRulesClient
}

func NewClient(o *common.ClientOptions) *Client {
Expand All @@ -23,17 +24,21 @@ func NewClient(o *common.ClientOptions) *Client {
FirewallRulesClient := mariadb.NewFirewallRulesClientWithBaseURI(o.ResourceManagerEndpoint, o.SubscriptionId)
o.ConfigureClient(&FirewallRulesClient.Client, o.ResourceManagerAuthorizer)

PrivateEndpointConnectionClient := mariadb.NewPrivateEndpointConnectionsClientWithBaseURI(o.ResourceManagerEndpoint, o.SubscriptionId)
o.ConfigureClient(&PrivateEndpointConnectionClient.Client, o.ResourceManagerAuthorizer)

ServersClient := mariadb.NewServersClientWithBaseURI(o.ResourceManagerEndpoint, o.SubscriptionId)
o.ConfigureClient(&ServersClient.Client, o.ResourceManagerAuthorizer)

VirtualNetworkRulesClient := mariadb.NewVirtualNetworkRulesClientWithBaseURI(o.ResourceManagerEndpoint, o.SubscriptionId)
o.ConfigureClient(&VirtualNetworkRulesClient.Client, o.ResourceManagerAuthorizer)

return &Client{
ConfigurationsClient: &configurationsClient,
DatabasesClient: &DatabasesClient,
FirewallRulesClient: &FirewallRulesClient,
ServersClient: &ServersClient,
VirtualNetworkRulesClient: &VirtualNetworkRulesClient,
ConfigurationsClient: &configurationsClient,
DatabasesClient: &DatabasesClient,
FirewallRulesClient: &FirewallRulesClient,
PrivateEndpointConnectionClient: &PrivateEndpointConnectionClient,
ServersClient: &ServersClient,
VirtualNetworkRulesClient: &VirtualNetworkRulesClient,
}
}
5 changes: 5 additions & 0 deletions internal/services/monitor/client/client.go
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ type Client struct {
DiagnosticSettingsCategoryClient *classic.DiagnosticSettingsCategoryClient
LogProfilesClient *classic.LogProfilesClient
MetricAlertsClient *classic.MetricAlertsClient
PrivateEndpointConnectionsClient *classic.PrivateEndpointConnectionsClient
ScheduledQueryRulesClient *classic.ScheduledQueryRulesClient
}

Expand Down Expand Up @@ -64,6 +65,9 @@ func NewClient(o *common.ClientOptions) *Client {
MetricAlertsClient := classic.NewMetricAlertsClientWithBaseURI(o.ResourceManagerEndpoint, o.SubscriptionId)
o.ConfigureClient(&MetricAlertsClient.Client, o.ResourceManagerAuthorizer)

PrivateEndpointConnectionsClient := classic.NewPrivateEndpointConnectionsClientWithBaseURI(o.ResourceManagerEndpoint, o.SubscriptionId)
o.ConfigureClient(&PrivateEndpointConnectionsClient.Client, o.ResourceManagerAuthorizer)

ScheduledQueryRulesClient := classic.NewScheduledQueryRulesClientWithBaseURI(o.ResourceManagerEndpoint, o.SubscriptionId)
o.ConfigureClient(&ScheduledQueryRulesClient.Client, o.ResourceManagerAuthorizer)

Expand All @@ -79,6 +83,7 @@ func NewClient(o *common.ClientOptions) *Client {
DiagnosticSettingsCategoryClient: &DiagnosticSettingsCategoryClient,
LogProfilesClient: &LogProfilesClient,
MetricAlertsClient: &MetricAlertsClient,
PrivateEndpointConnectionsClient: &PrivateEndpointConnectionsClient,
ScheduledQueryRulesClient: &ScheduledQueryRulesClient,
}
}
5 changes: 5 additions & 0 deletions internal/services/mysql/client/client.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ type Client struct {
ConfigurationsClient *mysql.ConfigurationsClient
DatabasesClient *mysql.DatabasesClient
FirewallRulesClient *mysql.FirewallRulesClient
PrivateEndpointConnectionClient *mysql.PrivateEndpointConnectionsClient
ServersClient *mysql.ServersClient
ServerKeysClient *mysql.ServerKeysClient
ServerSecurityAlertPoliciesClient *mysql.ServerSecurityAlertPoliciesClient
Expand All @@ -26,6 +27,9 @@ func NewClient(o *common.ClientOptions) *Client {
FirewallRulesClient := mysql.NewFirewallRulesClientWithBaseURI(o.ResourceManagerEndpoint, o.SubscriptionId)
o.ConfigureClient(&FirewallRulesClient.Client, o.ResourceManagerAuthorizer)

PrivateEndpointConnectionClient := mysql.NewPrivateEndpointConnectionsClientWithBaseURI(o.ResourceManagerEndpoint, o.SubscriptionId)
o.ConfigureClient(&PrivateEndpointConnectionClient.Client, o.ResourceManagerAuthorizer)

ServersClient := mysql.NewServersClientWithBaseURI(o.ResourceManagerEndpoint, o.SubscriptionId)
o.ConfigureClient(&ServersClient.Client, o.ResourceManagerAuthorizer)

Expand All @@ -45,6 +49,7 @@ func NewClient(o *common.ClientOptions) *Client {
ConfigurationsClient: &ConfigurationsClient,
DatabasesClient: &DatabasesClient,
FirewallRulesClient: &FirewallRulesClient,
PrivateEndpointConnectionClient: &PrivateEndpointConnectionClient,
ServersClient: &ServersClient,
ServerKeysClient: &ServerKeysClient,
ServerSecurityAlertPoliciesClient: &serverSecurityAlertPoliciesClient,
Expand Down
5 changes: 5 additions & 0 deletions internal/services/postgres/client/client.go
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ type Client struct {
FlexibleServersConfigurationsClient *postgresqlflexibleservers.ConfigurationsClient
FlexibleServerFirewallRuleClient *postgresqlflexibleservers.FirewallRulesClient
FlexibleServerDatabaseClient *postgresqlflexibleservers.DatabasesClient
PrivateEndpointConnectionClient *postgresql.PrivateEndpointConnectionsClient
ServersClient *postgresql.ServersClient
ServerKeysClient *postgresql.ServerKeysClient
ServerSecurityAlertPoliciesClient *postgresql.ServerSecurityAlertPoliciesClient
Expand All @@ -32,6 +33,9 @@ func NewClient(o *common.ClientOptions) *Client {
firewallRulesClient := postgresql.NewFirewallRulesClientWithBaseURI(o.ResourceManagerEndpoint, o.SubscriptionId)
o.ConfigureClient(&firewallRulesClient.Client, o.ResourceManagerAuthorizer)

privateEndpointConnectionClient := postgresql.NewPrivateEndpointConnectionsClientWithBaseURI(o.ResourceManagerEndpoint, o.SubscriptionId)
o.ConfigureClient(&privateEndpointConnectionClient.Client, o.ResourceManagerAuthorizer)

serversClient := postgresql.NewServersClientWithBaseURI(o.ResourceManagerEndpoint, o.SubscriptionId)
o.ConfigureClient(&serversClient.Client, o.ResourceManagerAuthorizer)

Expand Down Expand Up @@ -70,6 +74,7 @@ func NewClient(o *common.ClientOptions) *Client {
FlexibleServersClient: &flexibleServersClient,
FlexibleServerFirewallRuleClient: &flexibleServerFirewallRuleClient,
FlexibleServerDatabaseClient: &flexibleServerDatabaseClient,
PrivateEndpointConnectionClient: &privateEndpointConnectionClient,
ServersClient: &serversClient,
ServerKeysClient: &serverKeysClient,
ServerSecurityAlertPoliciesClient: &serverSecurityAlertPoliciesClient,
Expand Down
9 changes: 7 additions & 2 deletions internal/services/purview/client/client.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,14 +6,19 @@ import (
)

type Client struct {
AccountsClient *purview.AccountsClient
AccountsClient *purview.AccountsClient
PrivateEndpointConnectionsClient *purview.PrivateEndpointConnectionsClient
}

func NewClient(o *common.ClientOptions) *Client {
accountsClient := purview.NewAccountsClientWithBaseURI(o.ResourceManagerEndpoint, o.SubscriptionId)
o.ConfigureClient(&accountsClient.Client, o.ResourceManagerAuthorizer)

privateEndpointConnectionsClient := purview.NewPrivateEndpointConnectionsClientWithBaseURI(o.ResourceManagerEndpoint, o.SubscriptionId)
o.ConfigureClient(&privateEndpointConnectionsClient.Client, o.ResourceManagerAuthorizer)

return &Client{
AccountsClient: &accountsClient,
AccountsClient: &accountsClient,
PrivateEndpointConnectionsClient: &privateEndpointConnectionsClient,
}
}
17 changes: 11 additions & 6 deletions internal/services/search/client/client.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,24 +6,29 @@ import (
)

type Client struct {
AdminKeysClient *search.AdminKeysClient
QueryKeysClient *search.QueryKeysClient
ServicesClient *search.ServicesClient
AdminKeysClient *search.AdminKeysClient
PrivateEndpointConnectionsClient *search.PrivateEndpointConnectionsClient
QueryKeysClient *search.QueryKeysClient
ServicesClient *search.ServicesClient
}

func NewClient(o *common.ClientOptions) *Client {
adminKeysClient := search.NewAdminKeysClientWithBaseURI(o.ResourceManagerEndpoint, o.SubscriptionId)
o.ConfigureClient(&adminKeysClient.Client, o.ResourceManagerAuthorizer)

privateEndpointConnectionsClient := search.NewPrivateEndpointConnectionsClientWithBaseURI(o.ResourceManagerEndpoint, o.SubscriptionId)
o.ConfigureClient(&privateEndpointConnectionsClient.Client, o.ResourceManagerAuthorizer)

queryKeysClient := search.NewQueryKeysClientWithBaseURI(o.ResourceManagerEndpoint, o.SubscriptionId)
o.ConfigureClient(&queryKeysClient.Client, o.ResourceManagerAuthorizer)

servicesClient := search.NewServicesClientWithBaseURI(o.ResourceManagerEndpoint, o.SubscriptionId)
o.ConfigureClient(&servicesClient.Client, o.ResourceManagerAuthorizer)

return &Client{
AdminKeysClient: &adminKeysClient,
QueryKeysClient: &queryKeysClient,
ServicesClient: &servicesClient,
AdminKeysClient: &adminKeysClient,
PrivateEndpointConnectionsClient: &privateEndpointConnectionsClient,
QueryKeysClient: &queryKeysClient,
ServicesClient: &servicesClient,
}
}
5 changes: 5 additions & 0 deletions internal/services/sql/client/client.go
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ type Client struct {
FailoverGroupsClient *sql.FailoverGroupsClient
ManagedInstancesClient *msi.ManagedInstancesClient
ManagedDatabasesClient *msi.ManagedDatabasesClient
PrivateEndpointConnectionsClient *msi.PrivateEndpointConnectionsClient
ServersClient *sql.ServersClient
ServerExtendedBlobAuditingPoliciesClient *sql.ExtendedServerBlobAuditingPoliciesClient
ServerConnectionPoliciesClient *sql.ServerConnectionPoliciesClient
Expand Down Expand Up @@ -49,6 +50,9 @@ func NewClient(o *common.ClientOptions) *Client {
managedDatabasesClient := msi.NewManagedDatabasesClientWithBaseURI(o.ResourceManagerEndpoint, o.SubscriptionId)
o.ConfigureClient(&managedDatabasesClient.Client, o.ResourceManagerAuthorizer)

privateEndpointConnectionsClient := msi.NewPrivateEndpointConnectionsClientWithBaseURI(o.ResourceManagerEndpoint, o.SubscriptionId)
o.ConfigureClient(&privateEndpointConnectionsClient.Client, o.ResourceManagerAuthorizer)

serversClient := sql.NewServersClientWithBaseURI(o.ResourceManagerEndpoint, o.SubscriptionId)
o.ConfigureClient(&serversClient.Client, o.ResourceManagerAuthorizer)

Expand Down Expand Up @@ -76,6 +80,7 @@ func NewClient(o *common.ClientOptions) *Client {
FirewallRulesClient: &firewallRulesClient,
ManagedInstancesClient: &managedInstancesClient,
ManagedDatabasesClient: &managedDatabasesClient,
PrivateEndpointConnectionsClient: &privateEndpointConnectionsClient,
ServersClient: &serversClient,
ServerAzureADAdministratorsClient: &serverAzureADAdministratorsClient,
ServerConnectionPoliciesClient: &serverConnectionPoliciesClient,
Expand Down
61 changes: 33 additions & 28 deletions internal/services/storage/client/client.go
Original file line number Diff line number Diff line change
Expand Up @@ -24,20 +24,21 @@ import (
)

type Client struct {
AccountsClient *storage.AccountsClient
FileSystemsClient *filesystems.Client
ADLSGen2PathsClient *paths.Client
ManagementPoliciesClient *storage.ManagementPoliciesClient
BlobServicesClient *storage.BlobServicesClient
BlobInventoryPoliciesClient *storage.BlobInventoryPoliciesClient
CloudEndpointsClient *storagesync.CloudEndpointsClient
EncryptionScopesClient *storage.EncryptionScopesClient
Environment az.Environment
FileServicesClient *storage.FileServicesClient
ObjectReplicationClient *storage.ObjectReplicationPoliciesClient
SyncServiceClient *storagesync.ServicesClient
SyncGroupsClient *storagesync.SyncGroupsClient
SubscriptionId string
AccountsClient *storage.AccountsClient
FileSystemsClient *filesystems.Client
ADLSGen2PathsClient *paths.Client
ManagementPoliciesClient *storage.ManagementPoliciesClient
BlobServicesClient *storage.BlobServicesClient
BlobInventoryPoliciesClient *storage.BlobInventoryPoliciesClient
CloudEndpointsClient *storagesync.CloudEndpointsClient
EncryptionScopesClient *storage.EncryptionScopesClient
Environment az.Environment
FileServicesClient *storage.FileServicesClient
ObjectReplicationClient *storage.ObjectReplicationPoliciesClient
PrivateEndpointConnectionClient *storage.PrivateEndpointConnectionsClient
SyncServiceClient *storagesync.ServicesClient
SyncGroupsClient *storagesync.SyncGroupsClient
SubscriptionId string

resourceManagerAuthorizer autorest.Authorizer
storageAdAuth *autorest.Authorizer
Expand Down Expand Up @@ -74,6 +75,9 @@ func NewClient(options *common.ClientOptions) *Client {
objectReplicationPolicyClient := storage.NewObjectReplicationPoliciesClientWithBaseURI(options.ResourceManagerEndpoint, options.SubscriptionId)
options.ConfigureClient(&objectReplicationPolicyClient.Client, options.ResourceManagerAuthorizer)

privateEndpointConnectionClient := storage.NewPrivateEndpointConnectionsClientWithBaseURI(options.ResourceManagerEndpoint, options.SubscriptionId)
options.ConfigureClient(&privateEndpointConnectionClient.Client, options.ResourceManagerAuthorizer)

syncServiceClient := storagesync.NewServicesClientWithBaseURI(options.ResourceManagerEndpoint, options.SubscriptionId)
options.ConfigureClient(&syncServiceClient.Client, options.ResourceManagerAuthorizer)

Expand All @@ -83,20 +87,21 @@ func NewClient(options *common.ClientOptions) *Client {
// TODO: switch Storage Containers to using the storage.BlobContainersClient
// (which should fix #2977) when the storage clients have been moved in here
client := Client{
AccountsClient: &accountsClient,
FileSystemsClient: &fileSystemsClient,
ADLSGen2PathsClient: &adlsGen2PathsClient,
ManagementPoliciesClient: &managementPoliciesClient,
BlobServicesClient: &blobServicesClient,
BlobInventoryPoliciesClient: &blobInventoryPoliciesClient,
CloudEndpointsClient: &cloudEndpointsClient,
EncryptionScopesClient: &encryptionScopesClient,
Environment: options.Environment,
FileServicesClient: &fileServicesClient,
ObjectReplicationClient: &objectReplicationPolicyClient,
SubscriptionId: options.SubscriptionId,
SyncServiceClient: &syncServiceClient,
SyncGroupsClient: &syncGroupsClient,
AccountsClient: &accountsClient,
FileSystemsClient: &fileSystemsClient,
ADLSGen2PathsClient: &adlsGen2PathsClient,
ManagementPoliciesClient: &managementPoliciesClient,
BlobServicesClient: &blobServicesClient,
BlobInventoryPoliciesClient: &blobInventoryPoliciesClient,
CloudEndpointsClient: &cloudEndpointsClient,
EncryptionScopesClient: &encryptionScopesClient,
Environment: options.Environment,
FileServicesClient: &fileServicesClient,
ObjectReplicationClient: &objectReplicationPolicyClient,
PrivateEndpointConnectionClient: &privateEndpointConnectionClient,
SubscriptionId: options.SubscriptionId,
SyncServiceClient: &syncServiceClient,
SyncGroupsClient: &syncGroupsClient,

resourceManagerAuthorizer: options.ResourceManagerAuthorizer,
}
Expand Down
Loading

0 comments on commit 7c2fddb

Please sign in to comment.