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 May 1, 2022
1 parent 0b366dc commit b0e2857
Show file tree
Hide file tree
Showing 14 changed files with 1,153 additions and 58 deletions.
10 changes: 8 additions & 2 deletions internal/services/cognitive/client/client.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,17 +3,23 @@ package client
import (
"github.com/hashicorp/terraform-provider-azurerm/internal/common"
"github.com/hashicorp/terraform-provider-azurerm/internal/services/cognitive/sdk/2021-04-30/cognitiveservicesaccounts"
"github.com/hashicorp/terraform-provider-azurerm/internal/services/cognitive/sdk/2021-04-30/privateendpointconnections"
)

type Client struct {
AccountsClient *cognitiveservicesaccounts.CognitiveServicesAccountsClient
AccountsClient *cognitiveservicesaccounts.CognitiveServicesAccountsClient
PrivateEndpointConnectionsClient *privateendpointconnections.PrivateEndpointConnectionsClient
}

func NewClient(o *common.ClientOptions) *Client {
accountsClient := cognitiveservicesaccounts.NewCognitiveServicesAccountsClientWithBaseURI(o.ResourceManagerEndpoint)
o.ConfigureClient(&accountsClient.Client, o.ResourceManagerAuthorizer)

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

return &Client{
AccountsClient: &accountsClient,
AccountsClient: &accountsClient,
PrivateEndpointConnectionsClient: &privateEndpointConnectionsClient,
}
}
5 changes: 5 additions & 0 deletions internal/services/cosmos/client/client.go
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ type Client struct {
GremlinClient *documentdb.GremlinResourcesClient
MongoDbClient *documentdb.MongoDBResourcesClient
NotebookWorkspaceClient *documentdb.NotebookWorkspacesClient
PrivateEndpointConnectionClient *documentdb.PrivateEndpointConnectionsClient
RestorableDatabaseAccountsClient *documentdb.RestorableDatabaseAccountsClient
SqlClient *documentdb.SQLResourcesClient
SqlResourceClient *documentdb.SQLResourcesClient
Expand Down Expand Up @@ -41,6 +42,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)

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

Expand All @@ -61,6 +65,7 @@ func NewClient(o *common.ClientOptions) *Client {
GremlinClient: &gremlinClient,
MongoDbClient: &mongoDbClient,
NotebookWorkspaceClient: &notebookWorkspaceClient,
PrivateEndpointConnectionClient: &privateEndpointConnectionClient,
RestorableDatabaseAccountsClient: &restorableDatabaseAccountsClient,
SqlClient: &sqlClient,
SqlResourceClient: &sqlResourceClient,
Expand Down
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 @@ -28,6 +28,7 @@ type Client struct {
DiagnosticSettingsCategoryClient *classic.DiagnosticSettingsCategoryClient
LogProfilesClient *classic.LogProfilesClient
MetricAlertsClient *classic.MetricAlertsClient
PrivateEndpointConnectionsClient *classic.PrivateEndpointConnectionsClient
PrivateLinkScopesClient *classic.PrivateLinkScopesClient
PrivateLinkScopedResourcesClient *classic.PrivateLinkScopedResourcesClient
ScheduledQueryRulesClient *classic.ScheduledQueryRulesClient
Expand Down Expand Up @@ -67,6 +68,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)

PrivateLinkScopesClient := classic.NewPrivateLinkScopesClientWithBaseURI(o.ResourceManagerEndpoint, o.SubscriptionId)
o.ConfigureClient(&PrivateLinkScopesClient.Client, o.ResourceManagerAuthorizer)

Expand All @@ -88,6 +92,7 @@ func NewClient(o *common.ClientOptions) *Client {
DiagnosticSettingsCategoryClient: &DiagnosticSettingsCategoryClient,
LogProfilesClient: &LogProfilesClient,
MetricAlertsClient: &MetricAlertsClient,
PrivateEndpointConnectionsClient: &PrivateEndpointConnectionsClient,
PrivateLinkScopesClient: &PrivateLinkScopesClient,
PrivateLinkScopedResourcesClient: &PrivateLinkScopedResourcesClient,
ScheduledQueryRulesClient: &ScheduledQueryRulesClient,
Expand Down
5 changes: 5 additions & 0 deletions internal/services/mysql/client/client.go
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ type Client struct {
FlexibleServerConfigurationsClient *mysqlflexibleservers.ConfigurationsClient
FlexibleServerClient *mysqlflexibleservers.ServersClient
FlexibleServerFirewallRulesClient *mysqlflexibleservers.FirewallRulesClient
PrivateEndpointConnectionClient *mysql.PrivateEndpointConnectionsClient
ServersClient *mysql.ServersClient
ServerKeysClient *mysql.ServerKeysClient
ServerSecurityAlertPoliciesClient *mysql.ServerSecurityAlertPoliciesClient
Expand Down Expand Up @@ -43,6 +44,9 @@ func NewClient(o *common.ClientOptions) *Client {
flexibleServerConfigurationsClient := mysqlflexibleservers.NewConfigurationsClientWithBaseURI(o.ResourceManagerEndpoint, o.SubscriptionId)
o.ConfigureClient(&flexibleServerConfigurationsClient.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 @@ -66,6 +70,7 @@ func NewClient(o *common.ClientOptions) *Client {
FlexibleServerClient: &flexibleServerClient,
FlexibleServerFirewallRulesClient: &flexibleServerFirewallRulesClient,
FlexibleServerConfigurationsClient: &flexibleServerConfigurationsClient,
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 @@ -19,6 +19,7 @@ type Client struct {
ManagedInstanceAdministratorsClient *sqlv5.ManagedInstanceAdministratorsClient
ManagedInstanceAzureADOnlyAuthenticationsClient *sqlv5.ManagedInstanceAzureADOnlyAuthenticationsClient
ManagedDatabasesClient *msi.ManagedDatabasesClient
PrivateEndpointConnectionsClient *msi.PrivateEndpointConnectionsClient
ServersClient *sql.ServersClient
ServerExtendedBlobAuditingPoliciesClient *sql.ExtendedServerBlobAuditingPoliciesClient
ServerConnectionPoliciesClient *sql.ServerConnectionPoliciesClient
Expand Down Expand Up @@ -63,6 +64,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 @@ -96,6 +100,7 @@ func NewClient(o *common.ClientOptions) *Client {
ManagedInstanceAdministratorsClient: &managedInstanceAdministratorsClient,
ManagedInstanceAzureADOnlyAuthenticationsClient: &managedInstanceAzureADOnlyAuthenticationsClient,
ManagedDatabasesClient: &managedDatabasesClient,
PrivateEndpointConnectionsClient: &privateEndpointConnectionsClient,
ServersClient: &serversClient,
ServerAzureADAdministratorsClient: &serverAzureADAdministratorsClient,
ServerAzureADOnlyAuthenticationsClient: &serverAzureADOnlyAuthenticationsClient,
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 @@ -25,20 +25,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 *objectreplicationpolicies.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 *objectreplicationpolicies.ObjectReplicationPoliciesClient
PrivateEndpointConnectionClient *storage.PrivateEndpointConnectionsClient
SyncServiceClient *storagesync.ServicesClient
SyncGroupsClient *storagesync.SyncGroupsClient
SubscriptionId string

resourceManagerAuthorizer autorest.Authorizer
storageAdAuth *autorest.Authorizer
Expand Down Expand Up @@ -75,6 +76,9 @@ func NewClient(options *common.ClientOptions) *Client {
objectReplicationPolicyClient := objectreplicationpolicies.NewObjectReplicationPoliciesClientWithBaseURI(options.ResourceManagerEndpoint)
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 @@ -84,20 +88,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 b0e2857

Please sign in to comment.