Share via


Nginx.NginxPlus nginxDeployments

Bicep resource definition

The nginxDeployments resource type can be deployed with operations that target:

For a list of changed properties in each API version, see change log.

Resource format

To create a Nginx.NginxPlus/nginxDeployments resource, add the following Bicep to your template.

resource symbolicname 'Nginx.NginxPlus/nginxDeployments@2024-11-01-preview' = {
  identity: {
    type: 'string'
    userAssignedIdentities: {
      {customized property}: {}
    }
  }
  location: 'string'
  name: 'string'
  properties: {
    autoUpgradeProfile: {
      upgradeChannel: 'string'
    }
    enableDiagnosticsSupport: bool
    logging: {
      storageAccount: {
        accountName: 'string'
        containerName: 'string'
      }
    }
    networkProfile: {
      frontEndIPConfiguration: {
        privateIPAddresses: [
          {
            privateIPAddress: 'string'
            privateIPAllocationMethod: 'string'
            subnetId: 'string'
          }
        ]
        publicIPAddresses: [
          {
            id: 'string'
          }
        ]
      }
      networkInterfaceConfiguration: {
        subnetId: 'string'
      }
    }
    nginxAppProtect: {
      webApplicationFirewallSettings: {
        activationState: 'string'
      }
    }
    scalingProperties: {
      autoScaleSettings: {
        profiles: [
          {
            capacity: {
              max: int
              min: int
            }
            name: 'string'
          }
        ]
      }
      capacity: int
    }
    userProfile: {
      preferredEmail: 'string'
    }
  }
  sku: {
    name: 'string'
  }
  tags: {
    {customized property}: 'string'
  }
}

Property Values

Nginx.NginxPlus/nginxDeployments

Name Description Value
identity IdentityProperties
location string
name The resource name string

Constraints:
Pattern = ^([a-z0-9A-Z][a-z0-9A-Z-]{0,28}[a-z0-9A-Z]|[a-z0-9A-Z])$ (required)
properties NginxDeploymentProperties
sku ResourceSku
tags Resource tags Dictionary of tag names and values. See Tags in templates

AutoUpgradeProfile

Name Description Value
upgradeChannel Channel used for autoupgrade. string (required)

IdentityProperties

Name Description Value
type 'None'
'SystemAssigned'
'SystemAssigned, UserAssigned'
'UserAssigned'
userAssignedIdentities Dictionary of <UserIdentityProperties> IdentityPropertiesUserAssignedIdentities

IdentityPropertiesUserAssignedIdentities

Name Description Value

NginxDeploymentProperties

Name Description Value
autoUpgradeProfile Autoupgrade settings of a deployment. AutoUpgradeProfile
enableDiagnosticsSupport bool
logging NginxLogging
networkProfile NginxNetworkProfile
nginxAppProtect Settings for NGINX App Protect (NAP) NginxDeploymentPropertiesNginxAppProtect
scalingProperties Information on how the deployment will be scaled. NginxDeploymentScalingProperties
userProfile NginxDeploymentUserProfile

NginxDeploymentPropertiesNginxAppProtect

Name Description Value
webApplicationFirewallSettings Settings for the NGINX App Protect Web Application Firewall (WAF) WebApplicationFirewallSettings (required)

NginxDeploymentScalingProperties

Name Description Value
autoScaleSettings The settings for enabling automatic scaling of the deployment. If this field is specified, 'scale.capacity' must be empty. NginxDeploymentScalingPropertiesAutoScaleSettings
capacity int

NginxDeploymentScalingPropertiesAutoScaleSettings

Name Description Value
profiles ScaleProfile[] (required)

NginxDeploymentTags

Name Description Value

NginxDeploymentUserProfile

Name Description Value
preferredEmail The preferred support contact email address of the user used for sending alerts and notification. Can be an empty string or a valid email address. string

Constraints:
Pattern = ^$|^[A-Za-z0-9._%+-]+@(?:[A-Za-z0-9-]+\.)+[A-Za-z]{2,}$

NginxFrontendIPConfiguration

Name Description Value
privateIPAddresses NginxPrivateIPAddress[]
publicIPAddresses NginxPublicIPAddress[]

NginxLogging

Name Description Value
storageAccount NginxStorageAccount

NginxNetworkInterfaceConfiguration

Name Description Value
subnetId string

NginxNetworkProfile

Name Description Value
frontEndIPConfiguration NginxFrontendIPConfiguration
networkInterfaceConfiguration NginxNetworkInterfaceConfiguration

NginxPrivateIPAddress

Name Description Value
privateIPAddress string
privateIPAllocationMethod 'Dynamic'
'Static'
subnetId string

NginxPublicIPAddress

Name Description Value
id string

NginxStorageAccount

Name Description Value
accountName string
containerName string

ResourceSku

Name Description Value
name Name of the SKU. string (required)

ScaleProfile

Name Description Value
capacity The capacity parameters of the profile. ScaleProfileCapacity (required)
name string (required)

ScaleProfileCapacity

Name Description Value
max The maximum number of NCUs the deployment can be autoscaled to. int

Constraints:
Min value = 0 (required)
min The minimum number of NCUs the deployment can be autoscaled to. int

Constraints:
Min value = 0 (required)

UserIdentityProperties

Name Description Value

WebApplicationFirewallSettings

Name Description Value
activationState The activation state of the WAF. Use 'Enabled' to enable the WAF and 'Disabled' to disable it. 'Disabled'
'Enabled'

ARM template resource definition

The nginxDeployments resource type can be deployed with operations that target:

For a list of changed properties in each API version, see change log.

Resource format

To create a Nginx.NginxPlus/nginxDeployments resource, add the following JSON to your template.

{
  "type": "Nginx.NginxPlus/nginxDeployments",
  "apiVersion": "2024-11-01-preview",
  "name": "string",
  "identity": {
    "type": "string",
    "userAssignedIdentities": {
      "{customized property}": {
      }
    }
  },
  "location": "string",
  "properties": {
    "autoUpgradeProfile": {
      "upgradeChannel": "string"
    },
    "enableDiagnosticsSupport": "bool",
    "logging": {
      "storageAccount": {
        "accountName": "string",
        "containerName": "string"
      }
    },
    "networkProfile": {
      "frontEndIPConfiguration": {
        "privateIPAddresses": [
          {
            "privateIPAddress": "string",
            "privateIPAllocationMethod": "string",
            "subnetId": "string"
          }
        ],
        "publicIPAddresses": [
          {
            "id": "string"
          }
        ]
      },
      "networkInterfaceConfiguration": {
        "subnetId": "string"
      }
    },
    "nginxAppProtect": {
      "webApplicationFirewallSettings": {
        "activationState": "string"
      }
    },
    "scalingProperties": {
      "autoScaleSettings": {
        "profiles": [
          {
            "capacity": {
              "max": "int",
              "min": "int"
            },
            "name": "string"
          }
        ]
      },
      "capacity": "int"
    },
    "userProfile": {
      "preferredEmail": "string"
    }
  },
  "sku": {
    "name": "string"
  },
  "tags": {
    "{customized property}": "string"
  }
}

Property Values

Nginx.NginxPlus/nginxDeployments

Name Description Value
apiVersion The api version '2024-11-01-preview'
identity IdentityProperties
location string
name The resource name string

Constraints:
Pattern = ^([a-z0-9A-Z][a-z0-9A-Z-]{0,28}[a-z0-9A-Z]|[a-z0-9A-Z])$ (required)
properties NginxDeploymentProperties
sku ResourceSku
tags Resource tags Dictionary of tag names and values. See Tags in templates
type The resource type 'Nginx.NginxPlus/nginxDeployments'

AutoUpgradeProfile

Name Description Value
upgradeChannel Channel used for autoupgrade. string (required)

IdentityProperties

Name Description Value
type 'None'
'SystemAssigned'
'SystemAssigned, UserAssigned'
'UserAssigned'
userAssignedIdentities Dictionary of <UserIdentityProperties> IdentityPropertiesUserAssignedIdentities

IdentityPropertiesUserAssignedIdentities

Name Description Value

NginxDeploymentProperties

Name Description Value
autoUpgradeProfile Autoupgrade settings of a deployment. AutoUpgradeProfile
enableDiagnosticsSupport bool
logging NginxLogging
networkProfile NginxNetworkProfile
nginxAppProtect Settings for NGINX App Protect (NAP) NginxDeploymentPropertiesNginxAppProtect
scalingProperties Information on how the deployment will be scaled. NginxDeploymentScalingProperties
userProfile NginxDeploymentUserProfile

NginxDeploymentPropertiesNginxAppProtect

Name Description Value
webApplicationFirewallSettings Settings for the NGINX App Protect Web Application Firewall (WAF) WebApplicationFirewallSettings (required)

NginxDeploymentScalingProperties

Name Description Value
autoScaleSettings The settings for enabling automatic scaling of the deployment. If this field is specified, 'scale.capacity' must be empty. NginxDeploymentScalingPropertiesAutoScaleSettings
capacity int

NginxDeploymentScalingPropertiesAutoScaleSettings

Name Description Value
profiles ScaleProfile[] (required)

NginxDeploymentTags

Name Description Value

NginxDeploymentUserProfile

Name Description Value
preferredEmail The preferred support contact email address of the user used for sending alerts and notification. Can be an empty string or a valid email address. string

Constraints:
Pattern = ^$|^[A-Za-z0-9._%+-]+@(?:[A-Za-z0-9-]+\.)+[A-Za-z]{2,}$

NginxFrontendIPConfiguration

Name Description Value
privateIPAddresses NginxPrivateIPAddress[]
publicIPAddresses NginxPublicIPAddress[]

NginxLogging

Name Description Value
storageAccount NginxStorageAccount

NginxNetworkInterfaceConfiguration

Name Description Value
subnetId string

NginxNetworkProfile

Name Description Value
frontEndIPConfiguration NginxFrontendIPConfiguration
networkInterfaceConfiguration NginxNetworkInterfaceConfiguration

NginxPrivateIPAddress

Name Description Value
privateIPAddress string
privateIPAllocationMethod 'Dynamic'
'Static'
subnetId string

NginxPublicIPAddress

Name Description Value
id string

NginxStorageAccount

Name Description Value
accountName string
containerName string

ResourceSku

Name Description Value
name Name of the SKU. string (required)

ScaleProfile

Name Description Value
capacity The capacity parameters of the profile. ScaleProfileCapacity (required)
name string (required)

ScaleProfileCapacity

Name Description Value
max The maximum number of NCUs the deployment can be autoscaled to. int

Constraints:
Min value = 0 (required)
min The minimum number of NCUs the deployment can be autoscaled to. int

Constraints:
Min value = 0 (required)

UserIdentityProperties

Name Description Value

WebApplicationFirewallSettings

Name Description Value
activationState The activation state of the WAF. Use 'Enabled' to enable the WAF and 'Disabled' to disable it. 'Disabled'
'Enabled'

Usage Examples

Terraform (AzAPI provider) resource definition

The nginxDeployments resource type can be deployed with operations that target:

  • Resource groups

For a list of changed properties in each API version, see change log.

Resource format

To create a Nginx.NginxPlus/nginxDeployments resource, add the following Terraform to your template.

resource "azapi_resource" "symbolicname" {
  type = "Nginx.NginxPlus/nginxDeployments@2024-11-01-preview"
  name = "string"
  parent_id = "string"
  identity {
    type = "string"
    identity_ids = [
      "string"
    ]
  }
  location = "string"
  tags = {
    {customized property} = "string"
  }
  body = {
    properties = {
      autoUpgradeProfile = {
        upgradeChannel = "string"
      }
      enableDiagnosticsSupport = bool
      logging = {
        storageAccount = {
          accountName = "string"
          containerName = "string"
        }
      }
      networkProfile = {
        frontEndIPConfiguration = {
          privateIPAddresses = [
            {
              privateIPAddress = "string"
              privateIPAllocationMethod = "string"
              subnetId = "string"
            }
          ]
          publicIPAddresses = [
            {
              id = "string"
            }
          ]
        }
        networkInterfaceConfiguration = {
          subnetId = "string"
        }
      }
      nginxAppProtect = {
        webApplicationFirewallSettings = {
          activationState = "string"
        }
      }
      scalingProperties = {
        autoScaleSettings = {
          profiles = [
            {
              capacity = {
                max = int
                min = int
              }
              name = "string"
            }
          ]
        }
        capacity = int
      }
      userProfile = {
        preferredEmail = "string"
      }
    }
    sku = {
      name = "string"
    }
  }
}

Property Values

Nginx.NginxPlus/nginxDeployments

Name Description Value
identity IdentityProperties
location string
name The resource name string

Constraints:
Pattern = ^([a-z0-9A-Z][a-z0-9A-Z-]{0,28}[a-z0-9A-Z]|[a-z0-9A-Z])$ (required)
properties NginxDeploymentProperties
sku ResourceSku
tags Resource tags Dictionary of tag names and values.
type The resource type "Nginx.NginxPlus/nginxDeployments@2024-11-01-preview"

AutoUpgradeProfile

Name Description Value
upgradeChannel Channel used for autoupgrade. string (required)

IdentityProperties

Name Description Value
type 'None'
'SystemAssigned'
'SystemAssigned, UserAssigned'
'UserAssigned'
userAssignedIdentities Dictionary of <UserIdentityProperties> IdentityPropertiesUserAssignedIdentities

IdentityPropertiesUserAssignedIdentities

Name Description Value

NginxDeploymentProperties

Name Description Value
autoUpgradeProfile Autoupgrade settings of a deployment. AutoUpgradeProfile
enableDiagnosticsSupport bool
logging NginxLogging
networkProfile NginxNetworkProfile
nginxAppProtect Settings for NGINX App Protect (NAP) NginxDeploymentPropertiesNginxAppProtect
scalingProperties Information on how the deployment will be scaled. NginxDeploymentScalingProperties
userProfile NginxDeploymentUserProfile

NginxDeploymentPropertiesNginxAppProtect

Name Description Value
webApplicationFirewallSettings Settings for the NGINX App Protect Web Application Firewall (WAF) WebApplicationFirewallSettings (required)

NginxDeploymentScalingProperties

Name Description Value
autoScaleSettings The settings for enabling automatic scaling of the deployment. If this field is specified, 'scale.capacity' must be empty. NginxDeploymentScalingPropertiesAutoScaleSettings
capacity int

NginxDeploymentScalingPropertiesAutoScaleSettings

Name Description Value
profiles ScaleProfile[] (required)

NginxDeploymentTags

Name Description Value

NginxDeploymentUserProfile

Name Description Value
preferredEmail The preferred support contact email address of the user used for sending alerts and notification. Can be an empty string or a valid email address. string

Constraints:
Pattern = ^$|^[A-Za-z0-9._%+-]+@(?:[A-Za-z0-9-]+\.)+[A-Za-z]{2,}$

NginxFrontendIPConfiguration

Name Description Value
privateIPAddresses NginxPrivateIPAddress[]
publicIPAddresses NginxPublicIPAddress[]

NginxLogging

Name Description Value
storageAccount NginxStorageAccount

NginxNetworkInterfaceConfiguration

Name Description Value
subnetId string

NginxNetworkProfile

Name Description Value
frontEndIPConfiguration NginxFrontendIPConfiguration
networkInterfaceConfiguration NginxNetworkInterfaceConfiguration

NginxPrivateIPAddress

Name Description Value
privateIPAddress string
privateIPAllocationMethod 'Dynamic'
'Static'
subnetId string

NginxPublicIPAddress

Name Description Value
id string

NginxStorageAccount

Name Description Value
accountName string
containerName string

ResourceSku

Name Description Value
name Name of the SKU. string (required)

ScaleProfile

Name Description Value
capacity The capacity parameters of the profile. ScaleProfileCapacity (required)
name string (required)

ScaleProfileCapacity

Name Description Value
max The maximum number of NCUs the deployment can be autoscaled to. int

Constraints:
Min value = 0 (required)
min The minimum number of NCUs the deployment can be autoscaled to. int

Constraints:
Min value = 0 (required)

UserIdentityProperties

Name Description Value

WebApplicationFirewallSettings

Name Description Value
activationState The activation state of the WAF. Use 'Enabled' to enable the WAF and 'Disabled' to disable it. 'Disabled'
'Enabled'