@@ -860,3 +860,162 @@ def updateOrganizationCameraOnboardingStatuses(self, organizationId: str, **kwar
860860
861861 return self ._session .put (metadata , resource , payload )
862862
863+
864+
865+ def getOrganizationCameraPermissions (self , organizationId : str ):
866+ """
867+ **List the permissions scopes for this organization**
868+ https://developer.cisco.com/meraki/api-v1/#!get-organization-camera-permissions
869+
870+ - organizationId (string): Organization ID
871+ """
872+
873+ metadata = {
874+ 'tags' : ['camera' , 'configure' , 'permissions' ],
875+ 'operation' : 'getOrganizationCameraPermissions'
876+ }
877+ organizationId = urllib .parse .quote (str (organizationId ), safe = '' )
878+ resource = f'/organizations/{ organizationId } /camera/permissions'
879+
880+ return self ._session .get (metadata , resource )
881+
882+
883+
884+ def getOrganizationCameraPermission (self , organizationId : str , permissionScopeId : str ):
885+ """
886+ **Retrieve a single permission scope**
887+ https://developer.cisco.com/meraki/api-v1/#!get-organization-camera-permission
888+
889+ - organizationId (string): Organization ID
890+ - permissionScopeId (string): Permission scope ID
891+ """
892+
893+ metadata = {
894+ 'tags' : ['camera' , 'configure' , 'permissions' ],
895+ 'operation' : 'getOrganizationCameraPermission'
896+ }
897+ organizationId = urllib .parse .quote (str (organizationId ), safe = '' )
898+ permissionScopeId = urllib .parse .quote (str (permissionScopeId ), safe = '' )
899+ resource = f'/organizations/{ organizationId } /camera/permissions/{ permissionScopeId } '
900+
901+ return self ._session .get (metadata , resource )
902+
903+
904+
905+ def getOrganizationCameraRoles (self , organizationId : str ):
906+ """
907+ **List all the roles in this organization**
908+ https://developer.cisco.com/meraki/api-v1/#!get-organization-camera-roles
909+
910+ - organizationId (string): Organization ID
911+ """
912+
913+ metadata = {
914+ 'tags' : ['camera' , 'configure' , 'roles' ],
915+ 'operation' : 'getOrganizationCameraRoles'
916+ }
917+ organizationId = urllib .parse .quote (str (organizationId ), safe = '' )
918+ resource = f'/organizations/{ organizationId } /camera/roles'
919+
920+ return self ._session .get (metadata , resource )
921+
922+
923+
924+ def createOrganizationCameraRole (self , organizationId : str , name : str , ** kwargs ):
925+ """
926+ **Creates new role for this organization.**
927+ https://developer.cisco.com/meraki/api-v1/#!create-organization-camera-role
928+
929+ - organizationId (string): Organization ID
930+ - name (string): The name of the new role. Must be unique. This parameter is required.
931+ - appliedOnDevices (array): Device tag on which this specified permission is applied.
932+ - appliedOnNetworks (array): Network tag on which this specified permission is applied.
933+ - appliedOrgWide (array): Permissions to be applied org wide.
934+ """
935+
936+ kwargs .update (locals ())
937+
938+ metadata = {
939+ 'tags' : ['camera' , 'configure' , 'roles' ],
940+ 'operation' : 'createOrganizationCameraRole'
941+ }
942+ organizationId = urllib .parse .quote (str (organizationId ), safe = '' )
943+ resource = f'/organizations/{ organizationId } /camera/roles'
944+
945+ body_params = ['name' , 'appliedOnDevices' , 'appliedOnNetworks' , 'appliedOrgWide' , ]
946+ payload = {k .strip (): v for k , v in kwargs .items () if k .strip () in body_params }
947+
948+ return self ._session .post (metadata , resource , payload )
949+
950+
951+
952+ def getOrganizationCameraRole (self , organizationId : str , roleId : str ):
953+ """
954+ **Retrieve a single role.**
955+ https://developer.cisco.com/meraki/api-v1/#!get-organization-camera-role
956+
957+ - organizationId (string): Organization ID
958+ - roleId (string): Role ID
959+ """
960+
961+ metadata = {
962+ 'tags' : ['camera' , 'configure' , 'roles' ],
963+ 'operation' : 'getOrganizationCameraRole'
964+ }
965+ organizationId = urllib .parse .quote (str (organizationId ), safe = '' )
966+ roleId = urllib .parse .quote (str (roleId ), safe = '' )
967+ resource = f'/organizations/{ organizationId } /camera/roles/{ roleId } '
968+
969+ return self ._session .get (metadata , resource )
970+
971+
972+
973+ def deleteOrganizationCameraRole (self , organizationId : str , roleId : str ):
974+ """
975+ **Delete an existing role for this organization.**
976+ https://developer.cisco.com/meraki/api-v1/#!delete-organization-camera-role
977+
978+ - organizationId (string): Organization ID
979+ - roleId (string): Role ID
980+ """
981+
982+ metadata = {
983+ 'tags' : ['camera' , 'configure' , 'roles' ],
984+ 'operation' : 'deleteOrganizationCameraRole'
985+ }
986+ organizationId = urllib .parse .quote (str (organizationId ), safe = '' )
987+ roleId = urllib .parse .quote (str (roleId ), safe = '' )
988+ resource = f'/organizations/{ organizationId } /camera/roles/{ roleId } '
989+
990+ return self ._session .delete (metadata , resource )
991+
992+
993+
994+ def updateOrganizationCameraRole (self , organizationId : str , roleId : str , ** kwargs ):
995+ """
996+ **Update an existing role in this organization.**
997+ https://developer.cisco.com/meraki/api-v1/#!update-organization-camera-role
998+
999+ - organizationId (string): Organization ID
1000+ - roleId (string): Role ID
1001+ - name (string): The name of the new role. Must be unique.
1002+ - appliedOnDevices (array): Device tag on which this specified permission is applied.
1003+ - appliedOnNetworks (array): Network tag on which this specified permission is applied.
1004+ - appliedOrgWide (array): Permissions to be applied org wide.
1005+ """
1006+
1007+ kwargs .update (locals ())
1008+
1009+ metadata = {
1010+ 'tags' : ['camera' , 'configure' , 'roles' ],
1011+ 'operation' : 'updateOrganizationCameraRole'
1012+ }
1013+ organizationId = urllib .parse .quote (str (organizationId ), safe = '' )
1014+ roleId = urllib .parse .quote (str (roleId ), safe = '' )
1015+ resource = f'/organizations/{ organizationId } /camera/roles/{ roleId } '
1016+
1017+ body_params = ['name' , 'appliedOnDevices' , 'appliedOnNetworks' , 'appliedOrgWide' , ]
1018+ payload = {k .strip (): v for k , v in kwargs .items () if k .strip () in body_params }
1019+
1020+ return self ._session .put (metadata , resource , payload )
1021+
0 commit comments