azPublicIP

Use the resource azPublicIP to deploy an Azure Public IP Address to the relevant subscription.

Attributes

Attribute Type Mandatory Values Default Notes
Name String Yes
ResourceGroupName String Yes
VNetName String Yes
VNetResourceGroupName String No
PublicIPName String Yes
Diagnostic Object No
Tag Object No
Lock Object No

Diagnostic

Attribute Type Mandatory Values Default Notes
Name String Yes
Log Object No
Metric Object No
Target Object No

Diagnostic Log

Attribute Type Mandatory Values Default Notes
Enabled Boolean No Defaults to true if Category is not null
Category Array No DDoSProtectionNotifications
DDoSMitigationFlowLogs
DDoSMitigationReports

Diagnostic Metric

Attribute Type Mandatory Values Default Notes
Enabled Boolean No True, False Defaults to true if Category is not null
Category Array No AllMetrics

Input by YAML

Object model for YAML deployment:

---
azPublicIP:
    # Mandatory
  - Name: 'string'
    ResourceGroupName: 'string'
    Location: 'string'
    AllocationMethod: 'string'                      # Static, Dynamic
    Sku: 'string'                                   # Basic, Standard (Standard allows multiple zones)
    # Optional
    Tier: 'string'                                  # Regional (D), Global
    Zone: [array]                                   # Zone
    Diagnostic:
      - Name: 'string'
        Log:
          Enabled: boolean                          # True (D if Category not null), False
          Category: [array]                         # Defaults to all if enabled
        Metric:
          Enabled: boolean                          # True (D if MetricCategory not null), False
          Category: [array]                         # Defaults to all if enabled
        Target:
          Blob:
            StorageAccount: 'string' 
            ResourceGroupName: 'string'             # Defaults to RG of resource
            Subscription: 'string'                  # Defaults to Sub of resource
            StorageKeyType: 'string'                # Primary, Secondary
            RetentionInDays: number
          EventHub:
            Name: 'string'
            Namespace: 'string'
            ResourceGroupName: 'string'             # Defaults to RG of resource
            Subscription: 'string'                  # Defaults to Sub of resource
            SharedAccessPolicy: 'string'            # RootManageSharedAccessKey (D)
          LogAnalytics:
            Workspace: 'string'
            ResourceGroupName: 'string'             # Defaults to RG of resource
            Subscription: 'string'                  # Defaults to Sub of resource
    Tag:
      'keyvalue-pairs'
    Lock:
      - Name: 'string'
        Level: 'string'                             # CanNotDelete, ReadOnly
        Notes: 'string'

Input by JSON

Object model for JSON deployment:

{
  "azPublicIP": [
    {
      "Name": "string",
      "ResourceGroupName": "string",
      "Location": "string",
      "AllocationMethod": "string",
      "Sku": "string",
      "Tier": "string",
      "Zone": [array],
      "Diagnostic": [
        {
          "Name": "string",
          "Log": {
            "Enabled": boolean,
            "Category": [array]
          },
          "Metric": {
            "Enabled": boolean,
            "Category": [array]
          },
          "Target": {
            "Blob": {
              "StorageAccount": "string",
              "ResourceGroupName": "string",
              "Subscription": "string",
              "StorageKeyType": "string",
              "RetentionInDays": number
            },
            "EventHub": {
              "Name": "string",
              "Namespace": "string",
              "ResourceGroupName": "string",
              "Subscription": "string",
              "SharedAccessPolicy": "string"
            },
            "LogAnalytics": {
              "Workspace": "string",
              "ResourceGroupName": "string",
              "Subscription": "string"
            }
          }
        }
      ],
      "Tag": {
        "key": "value"
      },
      "Lock": [
        {
          "Name": "string",
          "Level": "string",
          "Notes": "string"
        }
      ]
    }
  ]
}