states.azurerm.network.public_ip_address

Azure Resource Manager (ARM) Network Public IP Address State Module

New in version 1.0.0.

Changed in version 4.0.0.

maintainer:

<devops@eitr.tech>

configuration:

This module requires Azure Resource Manager credentials to be passed via acct. Note that the authentication parameters are case sensitive.

Required provider parameters:

if using username and password:
  • subscription_id
  • username
  • password
if using a service principal:
  • subscription_id
  • tenant
  • client_id
  • secret

Optional provider parameters:

cloud_environment: Used to point the cloud driver to different API endpoints, such as Azure GovCloud. Possible values:

  • AZURE_PUBLIC_CLOUD (default)
  • AZURE_CHINA_CLOUD
  • AZURE_US_GOV_CLOUD
  • AZURE_GERMAN_CLOUD

Example acct setup for Azure Resource Manager authentication:

azurerm:
    default:
        subscription_id: 3287abc8-f98a-c678-3bde-326766fd3617
        tenant: ABCDEFAB-1234-ABCD-1234-ABCDEFABCDEF
        client_id: ABCDEFAB-1234-ABCD-1234-ABCDEFABCDEF
        secret: XXXXXXXXXXXXXXXXXXXXXXXX
        cloud_environment: AZURE_PUBLIC_CLOUD
    user_pass_auth:
        subscription_id: 3287abc8-f98a-c678-3bde-326766fd3617
        username: fletch
        password: 123pass

The authentication parameters can also be passed as a dictionary of keyword arguments to the connection_auth parameter of each state, but this is not preferred and could be deprecated in the future.

idem_azurerm.states.azurerm.network.public_ip_address.absent(hub, ctx, name, resource_group, connection_auth=None, **kwargs)

New in version 1.0.0.

Ensure a public IP address does not exist in the resource group.

Parameters:
  • name – Name of the public IP address.
  • resource_group – The resource group assigned to the public IP address.
  • connection_auth – A dict with subscription and authentication parameters to be used in connecting to the Azure Resource Manager API.

Example usage:

Ensure public ip address absent:
    azurerm.network.public_ip_address.absent:
      - name: test_ip
      - resource_group: test_group
idem_azurerm.states.azurerm.network.public_ip_address.present(hub, ctx, name, resource_group, sku=None, public_ip_allocation_method=None, public_ip_address_version=None, idle_timeout_in_minutes=None, dns_settings=None, ddos_settings=None, ip_address=None, public_ip_prefix=None, zones=None, tags=None, connection_auth=None, **kwargs)

New in version 1.0.0.

Changed in version 4.0.0.

Ensure a public IP address exists.

Parameters:
  • name – The name of the public IP address.
  • resource_group – The resource group assigned of the public IP address.
  • sku – The SKU of public IP address. Possible values include: ‘Basic’, ‘Standard’.
  • public_ip_allocation_method – The public IP allocation method. Possible values are ‘Static’ and ‘Dynamic’.
  • public_ip_address_version – The public IP address version. Possible values are ‘IPv4’ and ‘IPv6’.
  • idle_timeout_in_minutes – An integer representing the idle timeout of the public IP address.
  • dns_settings

    A dictionary representing a valid PublicIPAddressDnsSettings object. Parameters include the following:

    • domain_name_label: (Required) The domain name label. The concatenation of the domain name label and the regionalize DNS zone make up the fully qualified domain name associated with the public IP address. If a domain name DNS zone make up the fully qualified domain name associated with the public IP address. If a domain name label is specified, an A DNS record is created for the public IP in the Microsoft Azure DNS system.
    • reverse_fqdn: A user-visible, fully qualified domain name that resolves to this public IP address. If the reverse FQDN is specified, then a PTR DNS record is created pointing from the IP address in the in-addr.arpa domain to the reverse FQDN.
  • ddos_settings – A dictionary representing an DdosSettings object. That DdosSettings object serves as the DDoS protection custom policy associated with the public IP address.
  • public_ip_prefix – The Resource ID of the Public IP Prefix that this Public IP Address should be allocated from.
  • zones – A list of availability zones denoting the IP allocated for the resource needs to come from.
  • tags – A dictionary of strings can be passed as tag metadata to the public IP address object.
  • connection_auth – A dict with subscription and authentication parameters to be used in connecting to the Azure Resource Manager API.

Example usage:

Ensure public IP exists:
    azurerm.network.public_ip_address.present:
        - name: pub_ip1
        - resource_group: group1
        - dns_settings:
            domain_name_label: decisionlab-ext-test-label
        - sku: basic
        - public_ip_allocation_method: static
        - public_ip_address_version: ipv4
        - idle_timeout_in_minutes: 4
        - tags:
            contact_name: Elmer Fudd Gantry