def main(): """ Main entry point for module execution """ argument_spec = NETBOX_ARG_SPEC argument_spec.update( dict( data=dict( type="dict", required=True, options=dict( name=dict(required=True, type="str"), device_type=dict(required=False, type="raw"), device_role=dict(required=False, type="raw"), tenant=dict(required=False, type="raw"), platform=dict(required=False, type="raw"), serial=dict(required=False, type="str"), asset_tag=dict(required=False, type="str"), site=dict(required=False, type="raw"), rack=dict(required=False, type="raw"), position=dict(required=False, type="int"), face=dict( required=False, type="str", choices=["Front", "front", "Rear", "rear"], ), # Will uncomment other status dict once slugs are the only option (Netbox 2.8) status=dict(required=False, type="raw"), # status=dict( # required=False, # choices=[ # "Active", # "Offline", # "Planned", # "Staged", # "Failed", # "Inventory", # ], # ), primary_ip4=dict(required=False, type="raw"), primary_ip6=dict(required=False, type="raw"), cluster=dict(required=False, type="raw"), comments=dict(required=False, type="str"), tags=dict(required=False, type=list), custom_fields=dict(required=False, type=dict), ), ), ) ) required_if = [("state", "present", ["name"]), ("state", "absent", ["name"])] module = NetboxAnsibleModule( argument_spec=argument_spec, supports_check_mode=True, required_if=required_if ) if module.params["data"]["name"] == "": module.params["data"]["name"] = str(uuid.uuid4()) netbox_device = NetboxDcimModule(module, NB_DEVICES) netbox_device.run()
def main(): """ Main entry point for module execution """ argument_spec = deepcopy(NETBOX_ARG_SPEC) argument_spec.update( dict(data=dict( type="dict", required=True, options=dict( name=dict(required=True, type="str"), device_type=dict(required=False, type="raw"), device_role=dict(required=False, type="raw"), tenant=dict(required=False, type="raw"), platform=dict(required=False, type="raw"), serial=dict(required=False, type="str"), asset_tag=dict(required=False, type="str"), site=dict(required=False, type="raw"), location=dict(required=False, type="raw"), rack=dict(required=False, type="raw"), position=dict(required=False, type="int"), face=dict( required=False, type="str", choices=["Front", "front", "Rear", "rear"], ), status=dict(required=False, type="raw"), primary_ip4=dict(required=False, type="raw"), primary_ip6=dict(required=False, type="raw"), cluster=dict(required=False, type="raw"), virtual_chassis=dict(required=False, type="raw"), vc_position=dict(required=False, type="int"), vc_priority=dict(required=False, type="int"), comments=dict(required=False, type="str"), tags=dict(required=False, type="list", elements="raw"), local_context_data=dict(required=False, type="dict"), custom_fields=dict(required=False, type="dict"), ), ), )) required_if = [("state", "present", ["name"]), ("state", "absent", ["name"])] module = NetboxAnsibleModule(argument_spec=argument_spec, supports_check_mode=True, required_if=required_if) if module.params["data"]["name"] == "": module.params["data"]["name"] = str(uuid.uuid4()) netbox_device = NetboxDcimModule(module, NB_DEVICES) netbox_device.run()
def main(): """ Main entry point for module execution """ argument_spec = NETBOX_ARG_SPEC argument_spec.update( dict(data=dict( type="dict", required=True, options=dict( name=dict(required=True, type="str"), slug=dict(required=False, type="str"), weight=dict(required=False, type="int"), ), ), )) required_if = [("state", "present", ["name"]), ("state", "absent", ["name"])] module = NetboxAnsibleModule(argument_spec=argument_spec, supports_check_mode=True, required_if=required_if) netbox_ipam_role = NetboxIpamModule(module, NB_IPAM_ROLES) netbox_ipam_role.run()
def main(): """ Main entry point for module execution """ argument_spec = deepcopy(NETBOX_ARG_SPEC) argument_spec.update( dict(data=dict( type="dict", required=True, options=dict( name=dict(required=True, type="str"), slug=dict(required=False, type="str"), tags=dict(required=False, type="list", elements="raw"), custom_fields=dict(required=False, type="dict"), ), ), )) required_if = [("state", "present", ["name"]), ("state", "absent", ["name"])] module = NetboxAnsibleModule(argument_spec=argument_spec, supports_check_mode=True, required_if=required_if) netbox_cluster_group = NetboxVirtualizationModule(module, NB_CLUSTER_GROUP) netbox_cluster_group.run()
def main(): """ Main entry point for module execution """ argument_spec = NETBOX_ARG_SPEC argument_spec.update( dict(data=dict( type="dict", required=True, options=dict( name=dict(required=True, type="str"), tenant_group=dict(required=False, type="raw"), description=dict(required=False, type="str"), comments=dict(required=False, type="str"), slug=dict(required=False, type="str"), tags=dict(required=False, type=list), custom_fields=dict(required=False, type=dict), ), ), )) required_if = [("state", "present", ["name"]), ("state", "absent", ["name"])] module = NetboxAnsibleModule(argument_spec=argument_spec, supports_check_mode=True, required_if=required_if) netbox_tenant = NetboxTenancyModule(module, NB_TENANTS) netbox_tenant.run()
def main(): """ Main entry point for module execution """ argument_spec = deepcopy(NETBOX_ARG_SPEC) argument_spec.update( dict( data=dict( type="dict", required=True, options=dict( prefix=dict(required=True, type="raw"), rir=dict(required=False, type="raw"), date_added=dict(required=False, type="str"), description=dict(required=False, type="str"), tags=dict(required=False, type="list"), custom_fields=dict(required=False, type="dict"), ), ), ) ) required_if = [("state", "present", ["prefix"]), ("state", "absent", ["prefix"])] module = NetboxAnsibleModule( argument_spec=argument_spec, supports_check_mode=True, required_if=required_if ) netbox_aggregate = NetboxIpamModule(module, NB_AGGREGATES) netbox_aggregate.run()
def main(): """ Main entry point for module execution """ argument_spec = deepcopy(NETBOX_ARG_SPEC) argument_spec.update( dict(data=dict( type="dict", required=True, options=dict( name=dict(required=True, type="str"), slug=dict(required=False, type="str"), parent_region=dict(required=False, type="raw"), description=dict(required=False, type="str"), tags=dict(required=False, type="list", elements="raw"), custom_fields=dict(required=False, type="dict"), ), ), )) required_if = [("state", "present", ["name"]), ("state", "absent", ["name"])] module = NetboxAnsibleModule(argument_spec=argument_spec, supports_check_mode=True, required_if=required_if) netbox_region = NetboxDcimModule(module, NB_REGIONS) netbox_region.run()
def main(): """ Main entry point for module execution """ argument_spec = deepcopy(NETBOX_ARG_SPEC) argument_spec.update( dict(data=dict( type="dict", required=True, options=dict( name=dict(required=True, type="str"), slug=dict(required=False, type="str"), parent_tenant_group=dict(required=False, type="str"), description=dict(required=False, type="str"), ), ), )) required_if = [("state", "present", ["name"]), ("state", "absent", ["name"])] module = NetboxAnsibleModule(argument_spec=argument_spec, supports_check_mode=True, required_if=required_if) netbox_tenant_group = NetboxTenancyModule(module, NB_TENANT_GROUPS) netbox_tenant_group.run()
def main(): """ Main entry point for module execution """ argument_spec = deepcopy(NETBOX_ARG_SPEC) argument_spec.update( dict( data=dict( type="dict", required=True, options=dict( name=dict(required=False, type="str"), master=dict(required=False, type="raw"), domain=dict(required=False, type="str"), tags=dict(required=False, type="list", elements="raw"), ), ), ) ) # required_if = [ # ("state", "present", ["master"]), # ("state", "absent", ["master"]), # ] required_one_of = [["name", "master"]] module = NetboxAnsibleModule( argument_spec=argument_spec, supports_check_mode=True, # required_if=required_if, required_one_of=required_one_of, ) netbox_virtual_chassis = NetboxDcimModule(module, NB_VIRTUAL_CHASSIS) netbox_virtual_chassis.run()
def main(): """ Main entry point for module execution """ argument_spec = NETBOX_ARG_SPEC argument_spec.update( dict( data=dict( type="dict", required=True, options=dict( name=dict(required=True, type="str"), slug=dict(required=False, type="str"), ), ), ) ) required_if = [("state", "present", ["name"]), ("state", "absent", ["name"])] module = NetboxAnsibleModule( argument_spec=argument_spec, supports_check_mode=True, required_if=required_if ) netbox_circuit_type = NetboxCircuitsModule(module, NB_CIRCUIT_TYPES) netbox_circuit_type.run()
def main(): """ Main entry point for module execution """ argument_spec = NETBOX_ARG_SPEC argument_spec.update( dict( data=dict( type="dict", required=True, options=dict( device=dict(required=False, type="raw"), name=dict(required=True, type="str"), manufacturer=dict(required=False, type="raw"), part_id=dict(required=False, type="str"), serial=dict(required=False, type="str"), asset_tag=dict(required=False, type="str"), description=dict(required=False, type="str"), tags=dict(required=False, type=list), ), ), ) ) required_if = [ ("state", "present", ["device", "name"]), ("state", "absent", ["device", "name"]), ] module = NetboxAnsibleModule( argument_spec=argument_spec, supports_check_mode=True, required_if=required_if ) netbox_inventory_item = NetboxDcimModule(module, NB_INVENTORY_ITEMS) netbox_inventory_item.run()
def main(): """ Main entry point for module execution """ argument_spec = deepcopy(NETBOX_ARG_SPEC) argument_spec.update( dict(data=dict( type="dict", required=True, options=dict( name=dict(required=True, type="str"), slug=dict(required=False, type="str"), manufacturer=dict(required=False, type="raw"), napalm_driver=dict(required=False, type="str"), napalm_args=dict(required=False, type="dict"), ), ), )) required_if = [("state", "present", ["name"]), ("state", "absent", ["name"])] module = NetboxAnsibleModule(argument_spec=argument_spec, supports_check_mode=True, required_if=required_if) netbox_platform = NetboxDcimModule(module, NB_PLATFORMS) netbox_platform.run()
def main(): """ Main entry point for module execution """ argument_spec = deepcopy(NETBOX_ARG_SPEC) argument_spec.update( dict( data=dict( type="dict", required=True, options=dict( name=dict(required=True, type="str"), tenant=dict(required=False, type="raw"), description=dict(required=False, type="str"), tags=dict(required=False, type="list", elements="raw"), custom_fields=dict(required=False, type="dict"), ), ), ) ) module = NetboxAnsibleModule(argument_spec=argument_spec, supports_check_mode=True) netbox_route_target = NetboxIpamModule(module, NB_ROUTE_TARGETS) netbox_route_target.run()
def main(): """ Main entry point for module execution """ argument_spec = deepcopy(NETBOX_ARG_SPEC) # state choices present, absent, new argument_spec["state"] = dict(required=False, default="present", choices=["present", "absent", "new"]) argument_spec.update( dict(data=dict( type="dict", required=True, options=dict( family=dict( required=False, type="int", choices=[4, 6], removed_in_version="0.3.0", ), address=dict(required=False, type="str"), prefix=dict(required=False, type="raw"), vrf=dict(required=False, type="raw"), tenant=dict(required=False, type="raw"), status=dict(required=False, type="raw"), role=dict( required=False, type="str", choices=[ "Loopback", "Secondary", "Anycast", "VIP", "VRRP", "HSRP", "GLBP", "CARP", ], ), interface=dict(required=False, type="raw"), description=dict(required=False, type="str"), nat_inside=dict(required=False, type="raw"), dns_name=dict(required=False, type="str"), tags=dict(required=False, type="list"), custom_fields=dict(required=False, type="dict"), ), ), )) required_if = [ ("state", "present", ["address", "prefix"], True), ("state", "absent", ["address"]), ("state", "new", ["address", "prefix"], True), ] module = NetboxAnsibleModule(argument_spec=argument_spec, supports_check_mode=True, required_if=required_if) netbox_ip_address = NetboxIpamModule(module, NB_IP_ADDRESSES) netbox_ip_address.run()
def main(): """ Main entry point for module execution """ argument_spec = deepcopy(NETBOX_ARG_SPEC) argument_spec.update( dict( data=dict( type="dict", required=True, options=dict( content_type=dict(required=False, type="raw"), name=dict(required=True, type="str"), description=dict(required=False, type="str"), template_code=dict(required=True, type="raw"), mime_type=dict(required=False, type="str"), file_extension=dict(required=False, type="str"), as_attachment=dict(required=False, type="bool"), ), ) ) ) required_if = [ ("state", "present", ["content_type", "name", "template_code"]), ("state", "absent", ["name"]), ] module = NetboxAnsibleModule( argument_spec=argument_spec, supports_check_mode=True, required_if=required_if ) netbox_export_template = NetboxExtrasModule(module, NB_EXPORT_TEMPLATES) netbox_export_template.run()
def main(): """ Main entry point for module execution """ argument_spec = NETBOX_ARG_SPEC argument_spec.update( dict(data=dict( type="dict", required=True, options=dict( manufacturer=dict(required=False, type="raw"), model=dict(required=True, type="raw"), slug=dict(required=False, type="str"), part_number=dict(required=False, type="str"), u_height=dict(required=False, type="int"), is_full_depth=dict(required=False, type="bool"), subdevice_role=dict( required=False, choices=["Parent", "parent", "Child", "child"]), comments=dict(required=False, type="str"), tags=dict(required=False, type=list), custom_fields=dict(required=False, type=dict), ), ), )) required_if = [("state", "present", ["model"]), ("state", "absent", ["model"])] module = NetboxAnsibleModule(argument_spec=argument_spec, supports_check_mode=True, required_if=required_if) netbox_device_type = NetboxDcimModule(module, NB_DEVICE_TYPES) netbox_device_type.run()
def main(): """ Main entry point for module execution """ argument_spec = NETBOX_ARG_SPEC argument_spec.update( dict(data=dict( type="dict", required=True, options=dict( name=dict(required=True, type="str"), rd=dict(required=False, type="str"), tenant=dict(required=False, type="raw"), enforce_unique=dict(required=False, type="bool"), description=dict(required=False, type="str"), tags=dict(required=False, type=list), custom_fields=dict(required=False, type=dict), ), ), )) required_if = [("state", "present", ["name"]), ("state", "absent", ["name"])] module = NetboxAnsibleModule(argument_spec=argument_spec, supports_check_mode=True, required_if=required_if) netbox_vrf = NetboxIpamModule(module, NB_VRFS) netbox_vrf.run()
def main(): """ Main entry point for module execution """ argument_spec = deepcopy(NETBOX_ARG_SPEC) argument_spec.update( dict(data=dict( type="dict", required=True, options=dict( site=dict(required=True, type="raw"), rack_group=dict( required=False, type="raw", removed_in_version="5.0.0", removed_from_collection="netbox.netbox", ), location=dict(required=False, type="raw"), name=dict(required=True, type="str"), ), ), )) required_if = [ ("state", "present", ["site", "name"]), ("state", "absent", ["site", "name"]), ] module = NetboxAnsibleModule(argument_spec=argument_spec, supports_check_mode=True, required_if=required_if) netbox_power_panel = NetboxDcimModule(module, NB_POWER_PANELS) netbox_power_panel.run()
def main(): """ Main entry point for module execution """ argument_spec = deepcopy(NETBOX_ARG_SPEC) argument_spec.update( dict(data=dict( type="dict", required=True, options=dict( device=dict(required=True, type="raw"), virtual_machine=dict(required=False, type="raw"), name=dict(required=True, type="str"), port=dict(required=True, type="int"), protocol=dict(required=True, type="raw"), ipaddresses=dict(required=False, type="raw"), description=dict(required=False, type="str"), tags=dict(required=False, type="list"), custom_fields=dict(required=False, type="dict"), ), ), )) required_if = [("state", "present", ["name"]), ("state", "absent", ["name"])] module = NetboxAnsibleModule(argument_spec=argument_spec, supports_check_mode=True, required_if=required_if) netbox_service = NetboxIpamModule(module, NB_SERVICES) netbox_service.run()
def main(): """ Main entry point for module execution """ argument_spec = deepcopy(NETBOX_ARG_SPEC) argument_spec.update( dict(data=dict( type="dict", required=True, options=dict( name=dict(required=True, type="str"), title=dict(required=False, type="str"), phone=dict(required=False, type="str"), email=dict(required=False, type="str"), address=dict(required=False, type="str"), comments=dict(required=False, type="str"), contact_group=dict(required=False, type="raw"), tags=dict(required=False, type="list", elements="raw"), custom_fields=dict(required=False, type="dict"), ), ), )) required_if = [("state", "present", ["name"]), ("state", "absent", ["name"])] module = NetboxAnsibleModule(argument_spec=argument_spec, supports_check_mode=True, required_if=required_if) netbox_contact = NetboxTenancyModule(module, NB_CONTACTS) netbox_contact.run()
def main(): """ Main entry point for module execution """ argument_spec = deepcopy(NETBOX_ARG_SPEC) argument_spec.update( dict(data=dict( type="dict", required=True, options=dict( virtual_machine=dict(required=False, type="raw"), name=dict(required=True, type="str"), enabled=dict(required=False, type="bool"), mtu=dict(required=False, type="int"), mac_address=dict(required=False, type="str"), description=dict(required=False, type="str"), mode=dict(required=False, type="raw"), parent_vm_interface=dict(required=False, type="raw"), untagged_vlan=dict(required=False, type="raw"), tagged_vlans=dict(required=False, type="raw"), tags=dict(required=False, type="list", elements="raw"), ), ), )) required_if = [ ("state", "present", ["virtual_machine", "name"]), ("state", "absent", ["virtual_machine", "name"]), ] module = NetboxAnsibleModule(argument_spec=argument_spec, supports_check_mode=True, required_if=required_if) netbox_vm_interface = NetboxVirtualizationModule(module, NB_VM_INTERFACES) netbox_vm_interface.run()
def main(): """ Main entry point for module execution """ argument_spec = deepcopy(NETBOX_ARG_SPEC) argument_spec.update( dict(data=dict( type="dict", required=True, options=dict( device_type=dict(required=True, type="raw"), name=dict(required=True, type="str"), ), ), )) required_if = [ ("state", "present", ["name", "device_type"]), ("state", "absent", ["name", "device_type"]), ] module = NetboxAnsibleModule(argument_spec=argument_spec, supports_check_mode=True, required_if=required_if) netbox_device_bay_template = NetboxDcimModule(module, NB_DEVICE_BAY_TEMPLATES) netbox_device_bay_template.run()
def main(): """ Main entry point for module execution """ argument_spec = deepcopy(NETBOX_ARG_SPEC) argument_spec.update( dict(data=dict( type="dict", required=True, options=dict( cid=dict(required=True, type="str"), provider=dict(required=False, type="raw"), circuit_type=dict(required=False, type="raw"), status=dict(required=False, type="raw"), tenant=dict(required=False, type="raw"), install_date=dict(required=False, type="str"), commit_rate=dict(required=False, type="int"), description=dict(required=False, type="str"), comments=dict(required=False, type="str"), tags=dict(required=False, type="list"), custom_fields=dict(required=False, type="dict"), ), ), )) required_if = [("state", "present", ["cid"]), ("state", "absent", ["cid"])] module = NetboxAnsibleModule(argument_spec=argument_spec, supports_check_mode=True, required_if=required_if) netbox_circuit = NetboxCircuitsModule(module, NB_CIRCUITS) netbox_circuit.run()
def main(): """ Main entry point for module execution """ argument_spec = NETBOX_ARG_SPEC argument_spec.update( dict( data=dict( type="dict", required=True, options=dict( circuit=dict(required=True, type="raw"), term_side=dict(required=True, choices=["A", "Z"]), site=dict(required=False, type="raw"), port_speed=dict(required=False, type="int"), upstream_speed=dict(required=False, type="int"), xconnect_id=dict(required=False, type="str"), pp_info=dict(required=False, type="str"), description=dict(required=False, type="str"), ), ), ) ) required_if = [ ("state", "present", ["circuit", "term_side"]), ("state", "absent", ["circuit", "term_side"]), ] module = NetboxAnsibleModule( argument_spec=argument_spec, supports_check_mode=True, required_if=required_if ) netbox_circuit_termination = NetboxCircuitsModule(module, NB_CIRCUIT_TERMINATIONS) netbox_circuit_termination.run()
def main(): """ Main entry point for module execution """ argument_spec = deepcopy(NETBOX_ARG_SPEC) argument_spec.update( dict(data=dict( type="dict", required=True, options=dict( name=dict(required=True, type="str"), slug=dict(required=False, type="str"), description=dict(required=False, type="str"), is_private=dict(required=False, type="bool"), ), ), )) required_if = [("state", "present", ["name"]), ("state", "absent", ["name"])] module = NetboxAnsibleModule(argument_spec=argument_spec, supports_check_mode=True, required_if=required_if) netbox_rir = NetboxIpamModule(module, NB_RIRS) netbox_rir.run()
def main(): """ Main entry point for module execution """ argument_spec = deepcopy(NETBOX_ARG_SPEC) argument_spec.update( dict(data=dict( type="dict", required=True, options=dict( site=dict(required=False, type="raw"), vlan_group=dict(required=False, type="raw"), vid=dict(required=False, type="int"), name=dict(required=True, type="str"), tenant=dict(required=False, type="raw"), status=dict(required=False, type="raw"), vlan_role=dict(required=False, type="raw"), description=dict(required=False, type="str"), tags=dict(required=False, type="list", elements="raw"), custom_fields=dict(required=False, type="dict"), ), ), )) required_if = [ ("state", "present", ["name"]), ("state", "absent", ["name"]), ] module = NetboxAnsibleModule(argument_spec=argument_spec, supports_check_mode=True, required_if=required_if) netbox_vlan = NetboxIpamModule(module, NB_VLANS) netbox_vlan.run()
def main(): """ Main entry point for module execution """ argument_spec = deepcopy(NETBOX_ARG_SPEC) argument_spec.update( dict(data=dict( type="dict", required=True, options=dict( name=dict(required=True, type="str"), slug=dict(required=False, type="str"), color=dict(required=False, type="str"), ), ), )) required_if = [("state", "present", ["name"]), ("state", "absent", ["name"])] module = NetboxAnsibleModule(argument_spec=argument_spec, supports_check_mode=True, required_if=required_if) netbox_rack_role = NetboxDcimModule(module, NB_RACK_ROLES) netbox_rack_role.run()
def main(): """ Main entry point for module execution """ argument_spec = deepcopy(NETBOX_ARG_SPEC) argument_spec.update( dict( data=dict( type="dict", required=True, options=dict( name=dict(required=False, type="str"), asn=dict(required=False, type="int"), account=dict(required=False, type="str"), portal_url=dict(required=False, type="str"), noc_contact=dict(required=False, type="str"), admin_contact=dict(required=False, type="str"), comments=dict(required=False, type="str"), tags=dict(required=False, type="list"), custom_fields=dict(required=False, type="dict"), ), ), ), ) required_if = [("state", "present", ["name"]), ("state", "absent", ["name"])] module = NetboxAnsibleModule( argument_spec=argument_spec, supports_check_mode=True, required_if=required_if ) netbox_provider = NetboxCircuitsModule(module, NB_PROVIDERS) netbox_provider.run()
def main(): """ Main entry point for module execution """ argument_spec = deepcopy(NETBOX_ARG_SPEC) argument_spec.update( dict( data=dict( type="dict", required=True, options=dict( device=dict(required=False, type="raw"), name=dict(required=True, type="str"), description=dict(required=False, type="str"), installed_device=dict(required=False, type="raw"), tags=dict(required=False, type="list", elements="raw"), ), ), ) ) required_if = [("state", "present", ["name"]), ("state", "absent", ["name"])] module = NetboxAnsibleModule( argument_spec=argument_spec, supports_check_mode=True, required_if=required_if ) netbox_device_bay = NetboxDcimModule(module, NB_DEVICE_BAYS) netbox_device_bay.run()
def main(): """ Main entry point for module execution """ argument_spec = deepcopy(NETBOX_ARG_SPEC) argument_spec.update( dict(data=dict( type="dict", required=True, options=dict( content_type=dict(required=False, type="raw"), name=dict(required=True, type="str"), link_text=dict(required=True, type="raw"), link_url=dict(required=True, type="raw"), weight=dict(required=False, type="int"), group_name=dict(required=False, type="str"), button_class=dict(required=False, type="raw"), new_window=dict(required=False, type="bool"), ), ))) required_if = [ ("state", "present", ["content_type", "name", "link_text", "link_url"]), ("state", "absent", ["name"]), ] module = NetboxAnsibleModule(argument_spec=argument_spec, supports_check_mode=True, required_if=required_if) netbox_custom_link = NetboxExtrasModule(module, NB_CUSTOM_LINKS) netbox_custom_link.run()