# netbox_site – Creates or removes sites from Netbox

New in version 2.8.

- Synopsis
- Requirements
- Parameters
- Notes
- Examples
- Return Values
- Status

## Synopsis

- Creates or removes sites from Netbox

## Requirements

The below requirements are needed on the host that executes this module.

- pynetbox

## Parameters

Parameter | Choices/Defaults | Comments
--- | --- | ---
data - / required |  | Defines the site configuration
| asn integer |  | The ASN associated with the site
| comments string |  | Comments for the site. This can be markdown syntax
| contact_email string |  | Contact email for site
| contact_name string |  | Name of contact for site
| contact_phone string |  | Contact phone number for site
| custom_fields dictionary |  | must exist in Netbox
| description string |  | The description of the prefix
| facility string |  | Data center provider or facility, ex. Equinix NY7
| latitude integer |  | Latitude in decimal format
| longitude integer |  | Longitude in decimal format
| name string / required |  | Name of the site to be created
| physical_address string |  | Physical address of site
| region string |  | The region that the site should be associated with
| shipping_address string |  | Shipping address of site

status
string

Choices:
- Active
- Planned
- Retired

Status of the site

| tags list |  | Any tags that the prefix may need to be associated with
| tenant string |  | The tenant the site will be assigned to
| time_zone string |  | Timezone associated with the site, ex. America/Denver
netbox_token string / required |  | The token created within Netbox to authorize API access
netbox_url string / required |  | URL of the Netbox instance resolvable by Ansible control host

state
string

Choices:
- absent
- present ←

Use `present` or `absent` for adding or removing.

validate_certs
boolean

Choices:
- no
- yes ←

If `no`, SSL certificates will not be validated. This should only be used on personally controlled sites using self-signed certificates.

## Notes

Note

- Tags should be defined as a YAML list
- This should be ran with connection `local` and hosts `localhost`

## Examples

    - name: "Test Netbox site module"
      connection: local
      hosts: localhost
      gather_facts: False
      tasks:
        - name: Create site within Netbox with only required information
          netbox_site:
            netbox_url: http://netbox.local
            netbox_token: thisIsMyToken
            data:
              name: Test - Colorado
            state: present

        - name: Delete site within netbox
          netbox_site:
            netbox_url: http://netbox.local
            netbox_token: thisIsMyToken
            data:
              name: Test - Colorado
            state: absent

        - name: Create site with all parameters
          netbox_site:
            netbox_url: http://netbox.local
            netbox_token: thisIsMyToken
            data:
              name: Test - California
              status: Planned
              region: Test Region
              tenant: Test Tenant
              facility: EquinoxCA7
              asn: 65001
              time_zone: America/Los Angeles
              description: This is a test description
              physical_address: Hollywood, CA, 90210
              shipping_address: Hollywood, CA, 90210
              latitude: 10.100000
              longitude: 12.200000
              contact_name: Jenny
              contact_phone: 867-5309
              contact_email: jenny@changednumber.com
              comments: ### Placeholder
            state: present

## Return Values

Common return values are documented here, the following are the fields unique to this module:

Key | Returned | Description
--- | --- | ---
msg string | always | Message indicating failure or info about what has been achieved
site dictionary | on creation | Serialized object as created or already existent within Netbox

## Status

- This module is not guaranteed to have a backwards compatible interface. [preview]
- This module is maintained by the Ansible Community. [community]

### Authors

- Mikhail Yohman (@FragmentedPacket)

Hint

If you notice any issues in this documentation, you can edit this document to improve it.