def create_application_version(self, application, version_label, s3bucket = None, s3key = None, auto_create_app = 'false', description = None): if (s3bucket is None and s3key is not None) \ or (s3bucket is not None and s3key is None): raise AttributeError('Must specify both s3 bucket and key') request = Request() request.set_operation('CreateApplicationVersion') request.set_app_name(application) request.set_version_label(version_label) if s3bucket is not None: request.set_s3bucket(s3bucket) request.set_s3key(s3key) request.set_auto_create_app(auto_create_app) if description is not None: request.set_description(description) try: response = self.call(request) except AwsServiceException as ex: if ex.code.lower() == AwsErrorCode.InvalidParameterValue.lower()\ and _re.search(Strings.VER_EXIST_RE, ex.message): raise AlreadyExistException(ex) raise # TODO: take care of too many application and/or version exception result = response['CreateApplicationVersionResponse']\ ['CreateApplicationVersionResult']['ApplicationVersion'] request_id = response['CreateApplicationVersionResponse']\ ['ResponseMetadata']['RequestId'] return Response(request_id, ApplicationVersionDescription.from_json(result))
def create_application_version(self, application, version_label, s3bucket = None, s3key = None, auto_create_app = u'false', description = None): if (s3bucket is None and s3key is not None) \ or (s3bucket is not None and s3key is None): raise AttributeError(u'Must specify both s3 bucket and key') request = Request() request.set_operation(u'CreateApplicationVersion') request.set_app_name(application) request.set_version_label(version_label) if s3bucket is not None: request.set_s3bucket(s3bucket) request.set_s3key(s3key) request.set_auto_create_app(auto_create_app) if description is not None: request.set_description(description) try: response = self.call(request) except AwsServiceException as ex: if ex.code.lower() == AwsErrorCode.InvalidParameterValue.lower()\ and _re.search(Strings.VER_EXIST_RE, ex.message): raise AlreadyExistException(ex) raise # TODO: take care of too many application and/or version exception result = response[u'CreateApplicationVersionResponse']\ [u'CreateApplicationVersionResult'][u'ApplicationVersion'] request_id = response[u'CreateApplicationVersionResponse']\ [u'ResponseMetadata'][u'RequestId'] return Response(request_id, ApplicationVersionDescription.from_json(result))