From 588ccae885482ceb791a9eab68ae3189ae96f1bb Mon Sep 17 00:00:00 2001 From: inFame Date: Mon, 30 Jan 2023 17:54:18 +1000 Subject: [PATCH] [Bamboo] Enable/disable elastic bamboo configuration (#1116) --- atlassian/bamboo.py | 16 ++++++++++++++++ docs/bamboo.rst | 9 +++++++++ 2 files changed, 25 insertions(+) diff --git a/atlassian/bamboo.py b/atlassian/bamboo.py index 0748d9437..335057273 100755 --- a/atlassian/bamboo.py +++ b/atlassian/bamboo.py @@ -1200,6 +1200,22 @@ def delete_elastic_configuration(self, configuration_id): resource = "elasticConfiguration/{configuration_id}".format(configuration_id=configuration_id) return self.delete(self.resource_url(resource)) + def get_elastic_bamboo(self): + """ + Get elastic bamboo configuration + :return: + """ + response = self.get("rest/admin/latest/elastic/config") + return response + + def set_elastic_bamboo(self, data): + """ + Set elastic bamboo configuration + :return: + """ + response = self.put("rest/admin/latest/elastic/config", data=data) + return response + def get_plugins_info(self): """ Provide plugins info diff --git a/docs/bamboo.rst b/docs/bamboo.rst index 38484fd37..c02609b86 100644 --- a/docs/bamboo.rst +++ b/docs/bamboo.rst @@ -276,3 +276,12 @@ Elastic Bamboo # Delete elastic bamboo configuration delete_elastic_configuration('123456') + # Get elastic bamboo configuration + get_elastic_bamboo() + + # Set elastic bamboo configuration + set_elastic_bamboo({"enabled": True, "awsCredentialsType": "INSTANCE_PROFILE", "region": "ASIA_PACIFIC_SE_2", + "privateKeyFile": "", "certificateFile": "", "maxNumOfElasticInstances": 1, "allocatePublicIpToVpcInstances": False, + "elasticInstanceManagement": {"type": "Disabled"}, "uploadAwsAccountIdentifierToElasticInstances": False, + "elasticAutoTermination": { "enabled": True, "shutdownDelay": 300}}) +