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( 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( 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=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 = 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 = 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"), slug=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_manufacturer = NetboxDcimModule(module, NB_MANUFACTURERS) netbox_manufacturer.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"), 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 = 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 = deepcopy(NETBOX_ARG_SPEC) argument_spec.update( dict( data=dict( type="dict", required=True, options=dict( name=dict(required=True, type="str"), facility_id=dict(required=False, type="str"), site=dict(required=False, type="raw"), rack_group=dict(required=False, type="raw"), tenant=dict(required=False, type="raw"), status=dict(required=False, type="raw"), rack_role=dict(required=False, type="raw"), serial=dict(required=False, type="str"), asset_tag=dict(required=False, type="str"), type=dict( required=False, type="str", choices=[ "2-post frame", "4-post frame", "4-post cabinet", "Wall-mounted frame", "Wall-mounted cabinet", ], ), width=dict(required=False, type="int", choices=[10, 19, 21, 23,],), u_height=dict(required=False, type="int"), desc_units=dict(required=False, type="bool"), outer_width=dict(required=False, type="int"), outer_depth=dict(required=False, type="int"), outer_unit=dict( required=False, type="str", choices=["Millimeters", "Inches",], ), 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_rack = NetboxDcimModule(module, NB_RACKS) netbox_rack.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"), name=dict(required=True, type="str"), type=dict( required=True, choices=[ "8p8c", "110-punch", "bnc", "mrj21", "fc", "lc", "lc-apc", "lsh", "lsh-apc", "mpo", "mtrj", "sc", "sc-apc", "st", ], type="str", ), rear_port=dict(required=True, type="raw"), rear_port_position=dict(required=False, type="int"), description=dict(required=False, type="str"), tags=dict(required=False, type="list"), ), ), ) ) required_if = [ ("state", "present", ["device", "name", "type", "rear_port"]), ("state", "absent", ["device", "name", "type", "rear_port"]), ] module = NetboxAnsibleModule( argument_spec=argument_spec, supports_check_mode=True, required_if=required_if ) netbox_front_port = NetboxDcimModule(module, NB_FRONT_PORTS) netbox_front_port.run()
def main(): """ Main entry point for module execution """ argument_spec = deepcopy(NETBOX_ARG_SPEC) argument_spec.update( dict( update_vc_child=dict(type="bool", required=False, default=False), data=dict( type="dict", required=True, options=dict( device=dict(required=False, type="raw"), name=dict(required=True, type="str"), form_factor=dict( required=False, type="raw", removed_in_version="4.0.0", removed_from_collection="netbox.netbox", ), label=dict(required=False, type="str"), type=dict(required=False, type="str"), enabled=dict(required=False, type="bool"), lag=dict(required=False, type="raw"), bridge=dict(required=False, type="raw"), mtu=dict(required=False, type="int"), mac_address=dict(required=False, type="str"), mgmt_only=dict(required=False, type="bool"), description=dict(required=False, type="str"), mode=dict(required=False, type="raw"), parent_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"), mark_connected=dict(required=False, type="bool"), custom_fields=dict(required=False, type="dict"), ), ), )) required_if = [ ("state", "present", ["device", "name"]), ("state", "absent", ["device", "name"]), ("update_vc_child", True, ["device"]), ] module = NetboxAnsibleModule(argument_spec=argument_spec, supports_check_mode=True, required_if=required_if) netbox_device_interface = NetboxDcimModule(module, NB_INTERFACES) netbox_device_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( 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 = 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"), type=dict( required=False, choices=[ "de-9", "db-25", "rj-11", "rj-12", "rj-45", "usb-a", "usb-b", "usb-c", "usb-mini-a", "usb-mini-b", "usb-micro-a", "usb-micro-b", "other", ], type="str", ), ), ), ) ) required_if = [ ("state", "present", ["device_type", "name"]), ("state", "absent", ["device_type", "name"]), ] module = NetboxAnsibleModule( argument_spec=argument_spec, supports_check_mode=True, required_if=required_if ) netbox_console_server_port_template = NetboxDcimModule( module, NB_CONSOLE_SERVER_PORT_TEMPLATES ) netbox_console_server_port_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( power_panel=dict(required=True, type="raw"), rack=dict(required=False, type="raw"), name=dict(required=True, type="str"), status=dict( required=False, choices=["offline", "active", "planned", "failed"], type="str", ), type=dict( required=False, choices=["primary", "redundant"], type="str" ), supply=dict(required=False, choices=["ac", "dc"], type="str"), phase=dict( required=False, choices=["single-phase", "three-phase"], type="str", ), voltage=dict(required=False, type="int"), amperage=dict(required=False, type="int"), max_utilization=dict(required=False, type="int"), comments=dict(required=False, type="str"), tags=dict(required=False, type="list", elements="raw"), custom_fields=dict(required=False, type="dict"), ), ), ) ) required_if = [ ("state", "present", ["power_panel", "name"]), ("state", "absent", ["power_panel", "name"]), ] module = NetboxAnsibleModule( argument_spec=argument_spec, supports_check_mode=True, required_if=required_if ) netbox_power_feed = NetboxDcimModule(module, NB_POWER_FEEDS) netbox_power_feed.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"), # 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", "Planned", "Retired"], # ), region=dict(required=False, type="raw"), tenant=dict(required=False, type="raw"), vlan_role=dict(required=False, type="raw"), facility=dict(required=False, type="str"), asn=dict(required=False, type="int"), time_zone=dict(required=False, type="str"), description=dict(required=False, type="str"), physical_address=dict(required=False, type="str"), shipping_address=dict(required=False, type="str"), latitude=dict(required=False, type="float"), longitude=dict(required=False, type="float"), contact_name=dict(required=False, type="str"), contact_phone=dict(required=False, type="str"), contact_email=dict(required=False, type="str"), comments=dict(required=False, type="str"), tags=dict(required=False, type=list), custom_fields=dict(required=False, type=dict), 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_site = NetboxDcimModule(module, NB_SITES) netbox_site.run()
def main(): """ Main entry point for module execution """ argument_spec = NETBOX_ARG_SPEC argument_spec.update( dict( update_vc_child=dict(type="bool", required=False, default=False), data=dict( type="dict", required=True, options=dict( device=dict(required=False, type="raw"), name=dict(required=True, type="str"), form_factor=dict(required=False, type="raw"), enabled=dict(required=False, type="bool"), lag=dict(required=False, type="raw"), mtu=dict(required=False, type="int"), mac_address=dict(required=False, type="str"), mgmt_only=dict(required=False, type="bool"), description=dict(required=False, type="str"), mode=dict( required=False, choices=["Access", "Tagged", "Tagged All"], ), untagged_vlan=dict(required=False, type="raw"), tagged_vlans=dict(required=False, type="raw"), tags=dict(required=False, type="list"), ), ), )) required_if = [ ("state", "present", ["device", "name"]), ("state", "absent", ["device", "name"]), ("update_vc_child", True, ["device"]), ] module = NetboxAnsibleModule(argument_spec=argument_spec, supports_check_mode=True, required_if=required_if) netbox_device_interface = NetboxDcimModule(module, NB_INTERFACES) netbox_device_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( name=dict(required=True, type="str"), status=dict(required=False, type="raw"), region=dict(required=False, type="raw"), tenant=dict(required=False, type="raw"), facility=dict(required=False, type="str"), asn=dict(required=False, type="int"), time_zone=dict(required=False, type="str"), description=dict(required=False, type="str"), physical_address=dict(required=False, type="str"), shipping_address=dict(required=False, type="str"), latitude=dict(required=False, type="float"), longitude=dict(required=False, type="float"), contact_name=dict(required=False, type="str"), contact_phone=dict(required=False, type="str"), contact_email=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_site = NetboxDcimModule(module, NB_SITES) netbox_site.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"), type=dict( required=False, choices=[ "iec-60320-c6", "iec-60320-c8", "iec-60320-c14", "iec-60320-c16", "iec-60320-c20", "iec-60309-p-n-e-4h", "iec-60309-p-n-e-6h", "iec-60309-p-n-e-9h", "iec-60309-2p-e-4h", "iec-60309-2p-e-6h", "iec-60309-2p-e-9h", "iec-60309-3p-e-4h", "iec-60309-3p-e-6h", "iec-60309-3p-e-9h", "iec-60309-3p-n-e-4h", "iec-60309-3p-n-e-6h", "iec-60309-3p-n-e-9h", "nema-5-15p", "nema-5-20p", "nema-5-30p", "nema-5-50p", "nema-6-15p", "nema-6-20p", "nema-6-30p", "nema-6-50p", "nema-l5-15p", "nema-l5-20p", "nema-l5-30p", "nema-l5-50p", "nema-l6-20p", "nema-l6-30p", "nema-l6-50p", "nema-l14-20p", "nema-l14-30p", "nema-l21-20p", "nema-l21-30p", "cs6361c", "cs6365c", "cs8165c", "cs8265c", "cs8365c", "cs8465c", "ita-e", "ita-f", "ita-ef", "ita-g", "ita-h", "ita-i", "ita-j", "ita-k", "ita-l", "ita-m", "ita-n", "ita-o", ], type="str", ), allocated_draw=dict(required=False, type="int"), maximum_draw=dict(required=False, type="int"), ), ), )) required_if = [ ("state", "present", ["device_type", "name"]), ("state", "absent", ["device_type", "name"]), ] module = NetboxAnsibleModule(argument_spec=argument_spec, supports_check_mode=True, required_if=required_if) netbox_power_port_template = NetboxDcimModule(module, NB_POWER_PORT_TEMPLATES) netbox_power_port_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( termination_a_type=dict( required=True, choices=[ "circuits.circuittermination", "dcim.consoleport", "dcim.consoleserverport", "dcim.frontport", "dcim.interface", "dcim.powerfeed", "dcim.poweroutlet", "dcim.powerport", "dcim.rearport", ], type="str", ), termination_a=dict(required=True, type="raw"), termination_b_type=dict( required=True, choices=[ "circuits.circuittermination", "dcim.consoleport", "dcim.consoleserverport", "dcim.frontport", "dcim.interface", "dcim.powerfeed", "dcim.poweroutlet", "dcim.powerport", "dcim.rearport", ], type="str", ), termination_b=dict(required=True, type="raw"), type=dict( required=False, choices=[ "cat3", "cat5", "cat5e", "cat6", "cat6a", "cat7", "dac-active", "dac-passive", "mrj21-trunk", "coaxial", "mmf", "mmf-om1", "mmf-om2", "mmf-om3", "mmf-om4", "smf", "smf-os1", "smf-os2", "aoc", "power", ], type="str", ), status=dict( required=False, choices=["connected", "planned", "decommissioning"], type="str", ), label=dict(required=False, type="str"), color=dict(required=False, type="str"), length=dict(required=False, type="int"), length_unit=dict(required=False, choices=["m", "cm", "ft", "in"], type="str"), tags=dict(required=False, type="list", elements="str"), ), ), )) required_if = [ ( "state", "present", [ "termination_a_type", "termination_a", "termination_b_type", "termination_b", ], ), ( "state", "absent", [ "termination_a_type", "termination_a", "termination_b_type", "termination_b", ], ), ] module = NetboxAnsibleModule(argument_spec=argument_spec, supports_check_mode=True, required_if=required_if) netbox_cable = NetboxDcimModule(module, NB_CABLES) netbox_cable.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"), name=dict(required=True, type="str"), type=dict( required=False, choices=[ "iec-60320-c5", "iec-60320-c7", "iec-60320-c13", "iec-60320-c15", "iec-60320-c19", "iec-60309-p-n-e-4h", "iec-60309-p-n-e-6h", "iec-60309-p-n-e-9h", "iec-60309-2p-e-4h", "iec-60309-2p-e-6h", "iec-60309-2p-e-9h", "iec-60309-3p-e-4h", "iec-60309-3p-e-6h", "iec-60309-3p-e-9h", "iec-60309-3p-n-e-4h", "iec-60309-3p-n-e-6h", "iec-60309-3p-n-e-9h", "nema-5-15r", "nema-5-20r", "nema-5-30r", "nema-5-50r", "nema-6-15r", "nema-6-20r", "nema-6-30r", "nema-6-50r", "nema-l5-15r", "nema-l5-20r", "nema-l5-30r", "nema-l5-50r", "nema-l6-20r", "nema-l6-30r", "nema-l6-50r", "nema-l14-20r", "nema-l14-30r", "nema-l21-20r", "nema-l21-30r", "CS6360C", "CS6364C", "CS8164C", "CS8264C", "CS8364C", "CS8464C", "ita-e", "ita-f", "ita-g", "ita-h", "ita-i", "ita-j", "ita-k", "ita-l", "ita-m", "ita-n", "ita-o", "hdot-cx", ], type="str", ), power_port=dict(required=False, type="raw"), feed_leg=dict(required=False, choices=["A", "B", "C"], type="str"), description=dict(required=False, type="str"), tags=dict(required=False, type="list", elements="raw"), ), ), )) 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_power_outlet = NetboxDcimModule(module, NB_POWER_OUTLETS) netbox_power_outlet.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"), facility_id=dict(required=False, type="str"), site=dict(required=False, type="raw"), rack_group=dict(required=False, type="raw"), tenant=dict(required=False, type="raw"), # Will uncomment other status dict once slugs are the only option (Netbox 2.8) status=dict(required=False, type="raw"), # status=dict( # required=False, # type="str", # choices=[ # "Active", # "Planned", # "Reserved", # "Available", # "Deprecated", # ], # ), rack_role=dict(required=False, type="raw"), serial=dict(required=False, type="str"), asset_tag=dict(required=False, type="str"), type=dict( required=False, type="str", choices=[ "2-post frame", "4-post frame", "4-post cabinet", "Wall-mounted frame", "Wall-mounted cabinet", ], ), width=dict( required=False, type="int", choices=[ 10, 19, 21, 23, ], ), u_height=dict(required=False, type="int"), desc_units=dict(required=False, type="bool"), outer_width=dict(required=False, type="int"), outer_depth=dict(required=False, type="int"), outer_unit=dict( required=False, type="str", choices=[ "Millimeters", "Inches", ], ), 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_rack = NetboxDcimModule(module, NB_RACKS) netbox_rack.run()