jenkins-bot has submitted this change and it was merged.
Change subject: Add API list=novaprojects
......................................................................
Add API list=novaprojects
Change-Id: I4667b02b2ab096677a3f04d131d5d4c24bb27dda
(cherry picked from commit 4dac65da9f09b97d2722feeb790dd2d4c54b2824)
---
M OpenStackManager.php
A api/ApiListNovaProjects.php
M nova/OpenStackNovaProject.php
3 files changed, 46 insertions(+), 1 deletion(-)
Approvals:
MaxSem: Looks good to me, approved
jenkins-bot: Verified
diff --git a/OpenStackManager.php b/OpenStackManager.php
index 011a4c1..e341810 100644
--- a/OpenStackManager.php
+++ b/OpenStackManager.php
@@ -195,6 +195,7 @@
$wgAutoloadClasses['ApiNovaProjects'] = $dir . 'api/ApiNovaProjects.php';
$wgAutoloadClasses['ApiNovaProjectLimits'] = $dir .
'api/ApiNovaProjectLimits.php';
$wgAutoloadClasses['ApiNovaServiceGroups'] = $dir .
'api/ApiNovaServiceGroups.php';
+$wgAutoloadClasses['ApiListNovaProjects'] = $dir .
'api/ApiListNovaProjects.php';
$wgAutoloadClasses['Spyc'] = $dir . 'Spyc.php';
$wgAutoloadClasses['OpenStackManagerNotificationFormatter'] = $dir .
'OpenStackManagerNotificationFormatter.php';
$wgAutoloadClasses['OpenStackManagerEvent'] = $dir .
'OpenStackManagerEvent.php';
@@ -300,6 +301,7 @@
$wgAPIModules['novaprojects'] = 'ApiNovaProjects';
$wgAPIModules['novaservicegroups'] = 'ApiNovaServiceGroups';
$wgAPIModules['novaprojectlimits'] = 'ApiNovaProjectLimits';
+$wgAPIListModules['novaprojects'] = 'ApiListNovaProjects';
# Schema changes
$wgHooks['LoadExtensionSchemaUpdates'][] = 'efOpenStackSchemaUpdates';
diff --git a/api/ApiListNovaProjects.php b/api/ApiListNovaProjects.php
new file mode 100644
index 0000000..830ba56
--- /dev/null
+++ b/api/ApiListNovaProjects.php
@@ -0,0 +1,39 @@
+<?php
+
+class ApiListNovaProjects extends ApiQueryGeneratorBase {
+
+ public function __construct( ApiQuery $query, $moduleName ) {
+ parent::__construct( $query, $moduleName, 'np' );
+ }
+
+ public function execute() {
+ $this->run();
+ }
+
+ public function executeGenerator( $resultPageSet ) {
+ $this->run();
+ }
+
+ public function run() {
+ $projects = OpenStackNovaProject::getAllProjects();
+ foreach ( $projects as $project ) {
+ $this->getResult()->addValue(
+ array( 'query', $this->getModuleName() ),
+ null,
+ $project->getName()
+ );
+ }
+
+ $this->getResult()->setIndexedTagName_internal( array( 'query',
$this->getModuleName() ), 'project' );
+ }
+
+ public function getDescription() {
+ return array(
+ 'Returns a list of all the known projects'
+ );
+ }
+
+ public function getExamples() {
+ return 'api.php?action=query&list=novaprojects';
+ }
+}
diff --git a/nova/OpenStackNovaProject.php b/nova/OpenStackNovaProject.php
index 09ccf37..9bd8d3b 100644
--- a/nova/OpenStackNovaProject.php
+++ b/nova/OpenStackNovaProject.php
@@ -36,6 +36,10 @@
}
}
+ public function getName() {
+ return $this->projectname;
+ }
+
/**
* Fetch the project from LDAP and initialize the object
* @return void
@@ -669,7 +673,7 @@
* than just the project's name, you'll need to call the project's
fetchProjectInfo() function.
*
* @static
- * @return array
+ * @return OpenStackNovaProject[]
*/
static function getAllProjects() {
global $wgAuth;
--
To view, visit https://gerrit.wikimedia.org/r/165893
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: I4667b02b2ab096677a3f04d131d5d4c24bb27dda
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/OpenStackManager
Gerrit-Branch: wmf/1.25wmf2
Gerrit-Owner: Legoktm <[email protected]>
Gerrit-Reviewer: MaxSem <[email protected]>
Gerrit-Reviewer: jenkins-bot <>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits