Skip to content

Move PostgreSql to master #14282

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 6 commits into from
Feb 24, 2021
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
24 changes: 0 additions & 24 deletions src/PostgreSql/Az.PostgreSql.format.ps1xml
Original file line number Diff line number Diff line change
Expand Up @@ -1065,9 +1065,6 @@
<TableColumnHeader>
<Label>AdministratorLogin</Label>
</TableColumnHeader>
<TableColumnHeader>
<Label>AdministratorLoginPassword</Label>
</TableColumnHeader>
</TableHeaders>
<TableRowEntries>
<TableRowEntry>
Expand Down Expand Up @@ -1105,9 +1102,6 @@
<TableColumnItem>
<PropertyName>AdministratorLogin</PropertyName>
</TableColumnItem>
<TableColumnItem>
<PropertyName>AdministratorLoginPassword</PropertyName>
</TableColumnItem>
</TableColumnItems>
</TableRowEntry>
</TableRowEntries>
Expand Down Expand Up @@ -1400,9 +1394,6 @@
</ViewSelectedBy>
<TableControl>
<TableHeaders>
<TableColumnHeader>
<Label>AdministratorLoginPassword</Label>
</TableColumnHeader>
<TableColumnHeader>
<Label>MinimalTlsVersion</Label>
</TableColumnHeader>
Expand All @@ -1422,9 +1413,6 @@
<TableRowEntries>
<TableRowEntry>
<TableColumnItems>
<TableColumnItem>
<PropertyName>AdministratorLoginPassword</PropertyName>
</TableColumnItem>
<TableColumnItem>
<PropertyName>MinimalTlsVersion</PropertyName>
</TableColumnItem>
Expand Down Expand Up @@ -2345,9 +2333,6 @@
<TableColumnHeader>
<Label>AdministratorLogin</Label>
</TableColumnHeader>
<TableColumnHeader>
<Label>AdministratorLoginPassword</Label>
</TableColumnHeader>
<TableColumnHeader>
<Label>AvailabilityZone</Label>
</TableColumnHeader>
Expand Down Expand Up @@ -2394,9 +2379,6 @@
<TableColumnItem>
<PropertyName>AdministratorLogin</PropertyName>
</TableColumnItem>
<TableColumnItem>
<PropertyName>AdministratorLoginPassword</PropertyName>
</TableColumnItem>
<TableColumnItem>
<PropertyName>AvailabilityZone</PropertyName>
</TableColumnItem>
Expand Down Expand Up @@ -2470,19 +2452,13 @@
</ViewSelectedBy>
<TableControl>
<TableHeaders>
<TableColumnHeader>
<Label>AdministratorLoginPassword</Label>
</TableColumnHeader>
<TableColumnHeader>
<Label>HaEnabled</Label>
</TableColumnHeader>
</TableHeaders>
<TableRowEntries>
<TableRowEntry>
<TableColumnItems>
<TableColumnItem>
<PropertyName>AdministratorLoginPassword</PropertyName>
</TableColumnItem>
<TableColumnItem>
<PropertyName>HaEnabled</PropertyName>
</TableColumnItem>
Expand Down
12 changes: 6 additions & 6 deletions src/PostgreSql/Az.PostgreSql.psd1
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
#
# Generated by: Microsoft Corporation
#
# Generated on: 2/5/2021
# Generated on: 2/23/2021
#

@{
Expand All @@ -12,7 +12,7 @@
RootModule = './Az.PostgreSql.psm1'

# Version number of this module.
ModuleVersion = '0.4.0'
ModuleVersion = '0.1.0'

# Supported PSEditions
CompatiblePSEditions = 'Core', 'Desktop'
Expand Down Expand Up @@ -45,7 +45,7 @@ PowerShellVersion = '5.1'
DotNetFrameworkVersion = '4.7.2'

# Minimum version of the common language runtime (CLR) required by this module. This prerequisite is valid for the PowerShell Desktop edition only.
# CLRVersion = ''
# ClrVersion = ''

# Processor architecture (None, X86, Amd64) required by this module
# ProcessorArchitecture = ''
Expand All @@ -54,7 +54,7 @@ DotNetFrameworkVersion = '4.7.2'
RequiredModules = @(@{ModuleName = 'Az.Accounts'; ModuleVersion = '2.2.5'; })

# Assemblies that must be loaded prior to importing this module
RequiredAssemblies = 'bin\Az.PostgreSql.private.dll'
RequiredAssemblies = './bin/Az.PostgreSql.private.dll'

# Script files (.ps1) that are run in the caller's environment prior to importing this module.
# ScriptsToProcess = @()
Expand All @@ -63,7 +63,7 @@ RequiredAssemblies = 'bin\Az.PostgreSql.private.dll'
# TypesToProcess = @()

# Format files (.ps1xml) to be loaded when importing this module
FormatsToProcess = 'Az.PostgreSql.format.ps1xml'
FormatsToProcess = './Az.PostgreSql.format.ps1xml'

# Modules to import as nested modules of the module specified in RootModule/ModuleToProcess
# NestedModules = @()
Expand Down Expand Up @@ -135,7 +135,7 @@ PrivateData = @{
# IconUri = ''

# ReleaseNotes of this module
ReleaseNotes = '* Added cmdlet ''Test-AzPostgreSqlFlexibleServerConnect'''
# ReleaseNotes = ''

# Prerelease string of this module
# Prerelease = ''
Expand Down
2 changes: 2 additions & 0 deletions src/PostgreSql/ChangeLog.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,8 @@
- Additional information about change #1
-->
## Upcoming Release
* Added maintenance windows parameter to Update-AzPostgreSqlFlexibleServer cmdlet
* Added zone parameter to server New/Restore-PostgresSqlFlexibleServer cmdlet.

## Version 0.4.0
* Added cmdlet `Test-AzPostgreSqlFlexibleServerConnect`
Expand Down
14 changes: 13 additions & 1 deletion src/PostgreSql/custom/New-AzPostgreSqlFlexibleServer.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ $DELEGATION_SERVICE_NAME = "Microsoft.DBforPostgreSQL/flexibleServers"
$DEFAULT_VNET_PREFIX = '10.0.0.0/16'
$DEFAULT_SUBNET_PREFIX = '10.0.0.0/24'
$AZURE_ARMNAME = '^[^<>%&:\\?/]{1,260}$'
$SERVICE_ENDPOINT = "Microsoft.Storage"

function New-AzPostgreSqlFlexibleServer {
[OutputType([Microsoft.Azure.PowerShell.Cmdlets.PostgreSql.Models.Api20200214Preview.IServerAutoGenerated])]
Expand All @@ -46,6 +47,11 @@ function New-AzPostgreSqlFlexibleServer {
[System.String]
${SubscriptionId},

[Parameter(HelpMessage = 'Availability zone into which to provision the resource.')]
[Microsoft.Azure.PowerShell.Cmdlets.PostgreSql.Category('Body')]
[System.String]
${Zone},

[Parameter(HelpMessage = 'The location the resource resides in.')]
[Microsoft.Azure.PowerShell.Cmdlets.PostgreSql.Category('Body')]
[System.String]
Expand Down Expand Up @@ -188,6 +194,11 @@ function New-AzPostgreSqlFlexibleServer {
$PSBoundParameters.Location = 'eastus'
}

if ($PSBoundParameters.ContainsKey('Zone')) {
$PSBoundParameters.AvailabilityZone = $PSBoundParameters.Zone
$null = $PSBoundParameters.Remove('Zone')
}

if (!$PSBoundParameters.ContainsKey('AdministratorLoginPassword')) {
$Password = Get-GeneratePassword
$PSBoundParameters.AdministratorLoginPassword = $Password | ConvertTo-SecureString -AsPlainText -Force
Expand Down Expand Up @@ -471,7 +482,7 @@ function CreateAndDelegateSubnet($Parameters) {

if (!$SubnetFlag) {
$Delegation = New-AzDelegation -Name $DELEGATION_SERVICE_NAME -ServiceName $DELEGATION_SERVICE_NAME
Add-AzVirtualNetworkSubnetConfig -Name $Parameters.SubnetName -VirtualNetwork $Vnet -AddressPrefix $Parameters.SubnetPrefix -Delegation $Delegation | Set-AzVirtualNetwork
Add-AzVirtualNetworkSubnetConfig -Name $Parameters.SubnetName -VirtualNetwork $Vnet -AddressPrefix $Parameters.SubnetPrefix -Delegation $Delegation -ServiceEndpoint $SERVICE_ENDPOINT | Set-AzVirtualNetwork
}
else { # check if existing subnet is delegated
$Delegations = Get-AzDelegation -Subnet $Subnet
Expand Down Expand Up @@ -516,6 +527,7 @@ function CreateFirewallRule($FirewallRuleParameters) {
}
elseif ($StartIP -eq $EndIP) {
$Msg = 'Configuring server firewall rule to accept connections from ' + $StartIP
$RuleName = "FirewallIPAddress_" + $Date
}
else {
$Msg = 'Configuring server firewall rule to accept connections from {0} to {1}' -f $StartIP, $EndIp
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,11 @@ function Restore-AzPostgreSqlFlexibleServer_PointInTimeRestore {
[System.DateTime]
${RestorePointInTime},

[Parameter(HelpMessage = 'Availability zone into which to provision the resource.')]
[Microsoft.Azure.PowerShell.Cmdlets.PostgreSql.Category('Body')]
[System.String]
${Zone},

[Parameter(Mandatory, HelpMessage = 'The location the resource resides in.')]
[Microsoft.Azure.PowerShell.Cmdlets.PostgreSql.Category('Body')]
[System.String]
Expand Down Expand Up @@ -119,6 +124,10 @@ function Restore-AzPostgreSqlFlexibleServer_PointInTimeRestore {
$PSBoundParameters.PointInTimeUTC = $PSBoundParameters["RestorePointInTime"]
$null = $PSBoundParameters.Remove('RestorePointInTime')

if ($PSBoundParameters.ContainsKey('Zone')) {
$PSBoundParameters.AvailabilityZone = $PSBoundParameters.Zone
$null = $PSBoundParameters.Remove('Zone')
}

Az.PostgreSql.internal\New-AzPostgreSqlFlexibleServer @PSBoundParameters
} catch {
Expand Down
45 changes: 42 additions & 3 deletions src/PostgreSql/custom/Update-AzPostgreSqlFlexibleServer.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -61,12 +61,12 @@ function Update-AzPostgreSqlFlexibleServer {
[System.String]
${ReplicationRole},

[Parameter(HelpMessage='The name of the sku, typically, tier + family + cores, e.g. B_Gen4_1, GP_Gen5_8.')]
[Parameter(HelpMessage='The name of the sku, e.g. Burstable_B1ms, Standard_D2ds_v4')]
[Microsoft.Azure.PowerShell.Cmdlets.PostgreSql.Category('Body')]
[System.String]
${Sku},

[Parameter(HelpMessage='The tier of the particular SKU, e.g. Basic.')]
[Parameter(HelpMessage='The tier of the particular SKU. Accepted values: Burstable, GeneralPurpose, Memory Optimized. Default: Burstable.')]
[ArgumentCompleter([Microsoft.Azure.PowerShell.Cmdlets.PostgreSql.Support.SkuTier])]
[Microsoft.Azure.PowerShell.Cmdlets.PostgreSql.Category('Body')]
[Microsoft.Azure.PowerShell.Cmdlets.PostgreSql.Support.SkuTier]
Expand All @@ -76,20 +76,27 @@ function Update-AzPostgreSqlFlexibleServer {
[ArgumentCompleter([Microsoft.Azure.PowerShell.Cmdlets.PostgreSql.Support.HaEnabledEnum])]
[Microsoft.Azure.PowerShell.Cmdlets.PostgreSql.Category('Body')]
[Microsoft.Azure.PowerShell.Cmdlets.PostgreSql.Support.HaEnabledEnum]
[Validateset('Enabled', 'Disabled')]
# Enable HA or not for a server.
${HaEnabled},

[Parameter(HelpMessage='Enable ssl enforcement or not when connect to server.')]
[ArgumentCompleter([Microsoft.Azure.PowerShell.Cmdlets.PostgreSql.Support.SslEnforcementEnum])]
[Microsoft.Azure.PowerShell.Cmdlets.PostgreSql.Category('Body')]
[Microsoft.Azure.PowerShell.Cmdlets.PostgreSql.Support.SslEnforcementEnum]
[Validateset('Enabled', 'Disabled')]
${SslEnforcement},

[Parameter(HelpMessage='Backup retention days for the server. Day count is between 7 and 35.')]
[Microsoft.Azure.PowerShell.Cmdlets.PostgreSql.Category('Body')]
[System.Int32]
${BackupRetentionDay},

[Parameter(HelpMessage='Period of time (UTC) designated for maintenance. Examples: "Sun:23:30" to schedule on Sunday, 11:30pm UTC. To set back to default pass in "Disabled"')]
[Microsoft.Azure.PowerShell.Cmdlets.PostgreSql.Category('Body')]
[System.String]
${MaintenanceWindow},

[Parameter(HelpMessage='Enable Storage Auto Grow.')]
[ArgumentCompleter([Microsoft.Azure.PowerShell.Cmdlets.PostgreSql.Support.StorageAutogrow])]
[Validateset('Enabled', 'Disabled')]
Expand Down Expand Up @@ -186,7 +193,39 @@ function Update-AzPostgreSqlFlexibleServer {
$null = $PSBoundParameters.Remove('StorageAutogrow')
}


if ($PSBoundParameters.ContainsKey('MaintenanceWindow')) {

$PSBoundParameters.MaintenanceWindowDayOfWeek = $null
$PSBoundParameters.MaintenanceWindowStartHour = $null
$PSBoundParameters.MaintenanceWindowStartMinute = $null

if ($PSBoundParameters.MaintenanceWindow.ToLower() -eq "disabled"){
$PSBoundParameters.MaintenanceWindowDayOfWeek = 0
$PSBoundParameters.MaintenanceWindowStartHour = 0
$PSBoundParameters.MaintenanceWindowStartMinute = 0
$PSBoundParameters.MaintenanceWindowCustomWindow = "Disabled"
}
else {
$ParsedWindow = $PSBoundParameters.MaintenanceWindow -split ":"
$DaytoNumber = @{Mon = 1; Tue = 2; Wed = 3; Thur = 4; Fri = 5; Sat = 6; Sun = 0}

if ($ParsedWindow.Length -ge 1){
$PSBoundParameters.MaintenanceWindowDayOfWeek = $DaytoNumber[$ParsedWindow[0]]
}

if ($ParsedWindow.Length -ge 2){
$PSBoundParameters.MaintenanceWindowStartHour = $ParsedWindow[1]
}

if ($ParsedWindow.Length -ge 3){
$PSBoundParameters.MaintenanceWindowStartMinute = $ParsedWindow[2]
}

$PSBoundParameters.MaintenanceWindowCustomWindow = "Enabled"
}

$null = $PSBoundParameters.Remove('MaintenanceWindow')
}

Az.PostgreSql.internal\Update-AzPostgreSqlFlexibleServer @PSBoundParameters
} catch {
Expand Down
18 changes: 9 additions & 9 deletions src/PostgreSql/examples/New-AzPostgreSqlFlexibleServer.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ PS C:\> New-AzPostgreSqlFlexibleServer -Name postgresql-test -ResourceGroupName

Checking the existence of the resource group PowershellPostgreSqlTest ...
Resource group PowershellPostgreSqlTest exists ? : True
Creating MySQL server postgresql-test in group PostgreSqlTest...
Creating PostgreSQL server postgresql-test in group PostgreSqlTest...
Your server postgresql-test is using sku Standard_B1ms (Paid Tier). Please refer to https://aka.ms/postgresql-pricing for pricing details

Name Location AdministratorLogin Version StorageProfileStorageMb SkuName SkuTier
Expand All @@ -21,8 +21,8 @@ PS C:\> New-AzPostgreSqlFlexibleServer

Creating resource group group00000000...
Creating new vnet VNETserver00000000 in resource group group00000000
Creating new subnet Subnetserver00000000 in resource group group00000000 and delegating it to Microsoft.DBforMySQL/flexibleServers
Creating MySQL server server00000000 in group group00000000...
Creating new subnet Subnetserver00000000 in resource group group00000000 and delegating it to Microsoft.DBforPostgreSQL/flexibleServers
Creating PostgreSQL server server00000000 in group group00000000...
Your server postgresql-test is using sku Standard_D2s_v3 (Paid Tier). Please refer to https://aka.ms/postgresql-pricing for pricing details

Name Location AdministratorLogin Version StorageProfileStorageMb SkuName SkuTier
Expand All @@ -46,8 +46,8 @@ PS C:\> New-AzPostgreSqlFlexibleServer -ResourceGroupName PowershellPostgreSqlT
Resource group PowershellPostgreSqlTest exists ? : True
You have supplied a vnet Id/name. Verifying its existence...
Creating new vnet vnetname in resource group PowershellPostgreSqlTest
Creating new subnet Subnetserver00000000 in resource group PowershellPostgreSqlTest and delegating it to Microsoft.DBforMySQL/flexibleServers
Creating MySQL server server00000000 in group PowershellPostgreSqlTest...
Creating new subnet Subnetserver00000000 in resource group PowershellPostgreSqlTest and delegating it to Microsoft.DBforPostgreSQL/flexibleServers
Creating PostgreSQL server server00000000 in group PowershellPostgreSqlTest...
Your server server00000000 is using sku Standard_B1ms (Paid Tier). Please refer to https://aka.ms/postgresql-pricing for pricing details
Creating database flexibleserverdb...

Expand All @@ -64,8 +64,8 @@ PS C:\> New-AzPostgreSqlFlexibleServer -Name postgresql-test -ResourceGroupName

Resource group PowershellPostgreSqlTest exists ? : True
Creating new vnet postgresql-vnet in resource group PowershellPostgreSqlTest
Creating new subnet postgresql-subnet in resource group PowershellPostgreSqlTest and delegating it to Microsoft.DBforMySQL/flexibleServers
Creating MySQL server postgresql-test in group PowershellPostgreSqlTest...
Creating new subnet postgresql-subnet in resource group PowershellPostgreSqlTest and delegating it to Microsoft.DBforPostgreSQL/flexibleServers
Creating PostgreSQL server postgresql-test in group PowershellPostgreSqlTest...
Your server postgresql-test is using sku Standard_B1ms (Paid Tier). Please refer to https://aka.ms/postgresql-pricing for pricing details
Creating database flexibleserverdb...

Expand All @@ -81,7 +81,7 @@ This cmdlet creates PostgreSql flexible server with vnet name, subnet name, vnet
PS C:\> New-AzPostgreSqlFlexibleServer -Name postgresql-test -ResourceGroupName PowershellPostgreSqlTest -PublicAccess All

Resource group PowershellPostgreSqlTest exists ? : True
Creating MySQL server postgresql-test in group PowershellPostgreSqlTest...
Creating PostgreSQL server postgresql-test in group PowershellPostgreSqlTest...
Your server postgresql-test is using sku Standard_B1ms (Paid Tier). Please refer to https://aka.ms/postgresql-pricing for pricing details
Creating database flexibleserverdb...
Configuring server firewall rule to accept connections from 0.0.0.0 to 255.255.255.255
Expand All @@ -97,7 +97,7 @@ This cmdlet creates PostgreSql flexible server open to all IP addresses.
PS C:\> New-AzPostgreSqlFlexibleServer -Name postgresql-test -ResourceGroupName PowershellPostgreSqlTest -PublicAccess 10.10.10.10-10.10.10.12

Resource group PowershellPostgreSqlTest exists ? : True
Creating MySQL server postgresql-test in group PowershellPostgreSqlTest...
Creating PostgreSQL server postgresql-test in group PowershellPostgreSqlTest...
Your server postgresql-test is using sku Standard_B1ms (Paid Tier). Please refer to https://aka.ms/postgresql-pricing for pricing details
Creating database flexibleserverdb...
Configuring server firewall rule to accept connections from 10.10.10.10 to 10.10.10.12
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ This cmdlet updates specified PostgreSql configuration by name.

### Example 1: Updatae specified PostgreSql configuration by identity
```powershell
PS C:\> $ID = "/subscriptions/<SubscriptionId>/resourceGroups/PowershellMySqlTest/providers/Microsoft.DBForPostgreSql/flexibleServers/postgresql-test/configurations/work_mem"
PS C:\> $ID = "/subscriptions/<SubscriptionId>/resourceGroups/PowershellPostgreSqlTest/providers/Microsoft.DBForPostgreSql/flexibleServers/postgresql-test/configurations/work_mem"
PS C:\> Get-AzPostgreSqlFlexibleServerConfiguration -Name work_mem -ResourceGroupName PowershellPostgreSqlTest -ServerName postgresql-test -Value 8192

Name Value DefaultValue Source AllowedValues DataType
Expand Down
2 changes: 1 addition & 1 deletion src/PostgreSql/exports/Get-AzPostgreSqlConfiguration.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ INPUTOBJECT <IPostgreSqlIdentity>: Identity Parameter
[SubscriptionId <String>]: The ID of the target subscription.
[VirtualNetworkRuleName <String>]: The name of the virtual network rule.
.Link
https://docs.microsoft.com/en-us/powershell/module/az.postgresql/get-azpostgresqlconfiguration
https://docs.microsoft.com/powershell/module/az.postgresql/get-azpostgresqlconfiguration
#>
function Get-AzPostgreSqlConfiguration {
[OutputType([Microsoft.Azure.PowerShell.Cmdlets.PostgreSql.Models.Api20171201.IConfiguration])]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ INPUTOBJECT <IServer>: The server for the connection string
[UserVisibleState <ServerState?>]: A state of a server that is visible to user.
[Version <ServerVersion?>]: Server version.
.Link
https://docs.microsoft.com/en-us/powershell/module/az.postgresql/get-azpostgresqlconnectionstring
https://docs.microsoft.com/powershell/module/az.postgresql/get-azpostgresqlconnectionstring
#>
function Get-AzPostgreSqlConnectionString {
[OutputType([System.String])]
Expand Down
2 changes: 1 addition & 1 deletion src/PostgreSql/exports/Get-AzPostgreSqlFirewallRule.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ INPUTOBJECT <IPostgreSqlIdentity>: Identity Parameter
[SubscriptionId <String>]: The ID of the target subscription.
[VirtualNetworkRuleName <String>]: The name of the virtual network rule.
.Link
https://docs.microsoft.com/en-us/powershell/module/az.postgresql/get-azpostgresqlfirewallrule
https://docs.microsoft.com/powershell/module/az.postgresql/get-azpostgresqlfirewallrule
#>
function Get-AzPostgreSqlFirewallRule {
[OutputType([Microsoft.Azure.PowerShell.Cmdlets.PostgreSql.Models.Api20171201.IFirewallRule])]
Expand Down
Loading