B `@sGdddeZdS)csjeZdZfddZedddZeedddZeed d d Zeed d d Zeed ddZ Z S) GroupPoliciescstt|||_dS)N)superr__init___session)selfsession) __class__w/private/var/folders/7j/8686xlfs15q3tgljmghtvg0r0000gn/T/pip-target-isidps9b/lib/python/meraki_v0/api/group_policies.pyrszGroupPolicies.__init__) networkIdcCs&dgdd}d|d}|j||S)z **List the group policies in a network** https://developer.cisco.com/meraki/api/#!get-network-group-policies - networkId (string) zGroup policiesgetNetworkGroupPolicies)tags operationz /networks/z/groupPolicies)rget)rr metadataresourcerrr r s  z%GroupPolicies.getNetworkGroupPolicies)r namec s|td|kr@ddg}|d|ks@td|dd|dgdd}d |d }d d d dddddgfdd|D}|j|||S)a **Create a group policy** https://developer.cisco.com/meraki/api/#!create-network-group-policy - networkId (string) - name (string): The name for your group policy. Required. - scheduling (object): The schedule for the group policy. Schedules are applied to days of the week. - bandwidth (object): The bandwidth settings for clients bound to your group policy. - firewallAndTrafficShaping (object): The firewall and traffic shaping rules and settings for your policy. - contentFiltering (object): The content filtering settings for your group policy - splashAuthSettings (string): Whether clients bound to your policy will bypass splash authorization or behave according to the network's rules. Can be one of 'network default' or 'bypass'. Only available if your network has a wireless configuration. - vlanTagging (object): The VLAN tagging settings for your group policy. Only available if your network has a wireless configuration. - bonjourForwarding (object): The Bonjour settings for your group policy. Only valid if your network has a wireless configuration. splashAuthSettingsznetwork defaultbypassz "splashAuthSettings" cannot be "z", & must be set to one of: zGroup policiescreateNetworkGroupPolicy)r r z /networks/z/groupPoliciesr scheduling bandwidthfirewallAndTrafficShapingcontentFiltering vlanTaggingbonjourForwardingcs&i|]\}}|kr||qSr)strip).0kv) body_paramsrr 6sz:GroupPolicies.createNetworkGroupPolicy..)updatelocalsAssertionErroritemsrpost)rr rkwargsoptionsrrpayloadr)rr rs $ z&GroupPolicies.createNetworkGroupPolicy)r groupPolicyIdcCs*dgdd}d|d|}|j||S)z **Display a group policy** https://developer.cisco.com/meraki/api/#!get-network-group-policy - networkId (string) - groupPolicyId (string) zGroup policiesgetNetworkGroupPolicy)r r z /networks/z/groupPolicies/)rr)rr r)rrrrr r*:s z#GroupPolicies.getNetworkGroupPolicyc s|td|kr@ddg}|d|ks@td|dd|dgdd}d |d |}d d d dddddgfdd|D}|j|||S)a **Update a group policy** https://developer.cisco.com/meraki/api/#!update-network-group-policy - networkId (string) - groupPolicyId (string) - name (string): The name for your group policy. - scheduling (object): The schedule for the group policy. Schedules are applied to days of the week. - bandwidth (object): The bandwidth settings for clients bound to your group policy. - firewallAndTrafficShaping (object): The firewall and traffic shaping rules and settings for your policy. - contentFiltering (object): The content filtering settings for your group policy - splashAuthSettings (string): Whether clients bound to your policy will bypass splash authorization or behave according to the network's rules. Can be one of 'network default' or 'bypass'. Only available if your network has a wireless configuration. - vlanTagging (object): The VLAN tagging settings for your group policy. Only available if your network has a wireless configuration. - bonjourForwarding (object): The Bonjour settings for your group policy. Only valid if your network has a wireless configuration. rznetwork defaultrz "splashAuthSettings" cannot be "z", & must be set to one of: zGroup policiesupdateNetworkGroupPolicy)r r z /networks/z/groupPolicies/rrrrrrrcs&i|]\}}|kr||qSr)r)rrr)rrr r lsz:GroupPolicies.updateNetworkGroupPolicy..)r!r"r#r$rput)rr r)r&r'rrr(r)rr r+Ks $z&GroupPolicies.updateNetworkGroupPolicycCs*dgdd}d|d|}|j||S)z **Delete a group policy** https://developer.cisco.com/meraki/api/#!delete-network-group-policy - networkId (string) - groupPolicyId (string) zGroup policiesdeleteNetworkGroupPolicy)r r z /networks/z/groupPolicies/)rdelete)rr r)rrrrr r-ps z&GroupPolicies.deleteNetworkGroupPolicy) __name__ __module__ __qualname__rstrr rr*r+r- __classcell__rr)rr rs  $%rN)objectrrrrr