أنت تعمل على قاعدة تعليمات برمجية لإدارة الأدوار والأذونات في مجموعة Kubernetes. يحتوي مقتطف التعليمات البرمجية المقدم على جزء من التنفيذ للتعامل مع الأدوار في نظام RBAC (التحكم في الوصول المستند إلى الدور).

يتضمن الكود الموجود بنية `Role` ووظيفة `NewRole` التي تُرجع مثيلًا جديدًا لبنية `Role`. تعتمد بنية "الدور" على كائن "الاتصال"، وتقوم بتنفيذ واجهة "Cruder".

المهمة المطروحة هي إكمال تنفيذ وظيفة "Get" لبنية "الدور". تأخذ الدالة `Get` معلمتين: `ns` (مساحة الاسم) وهي عبارة عن سلسلة و`n` (اسم) وهي أيضًا سلسلة. يجب أن يقوم باسترداد كائن الدور مع `n` المحدد من الأدوار في مساحة الاسم المتوفرة `ns`. يجب إرجاع الكائن المسترد مع أي خطأ تمت مواجهته أثناء العملية.

بالإضافة إلى ذلك، تحتاج إلى تنفيذ وظيفة "القائمة" لبنية "الدور". يجب أن تأخذ هذه الوظيفة معلمة `ns` (مساحة الاسم) وترجع قائمة بجميع كائنات الدور الموجودة في مساحة الاسم المحددة. يجب أن تكون القائمة التي تم إرجاعها من النوع `[]interface{}`. في حالة حدوث أي خطأ أثناء عملية الإدراج، يجب إعادته إلى جانب القائمة الفارغة.

الآن، أنت بحاجة إلى تنفيذ الوظيفة المفقودة لوظيفتي "Get" و"List".
{"source": "argilla/DistiCoder-dpo-binarized", "kind": "synthetic", "evolved_from": null}