Exemplo n.º 1
0
    def execute(self, parameter_pool):
        eb_client = ElasticBeanstalkClient(
            parameter_pool.get_value(ParameterName.AwsAccessKeyId),
            parameter_pool.get_value(ParameterName.AwsSecretAccessKey),
            parameter_pool.get_value(ParameterName.ServiceEndpoint))
        app_name = parameter_pool.get_value(ParameterName.ApplicationName)
        version_name = parameter_pool.get_value(
            ParameterName.ApplicationVersionName)
        solution_stack = parameter_pool.get_value(ParameterName.SolutionStack)

        container_name = eb_utils.match_solution_stack(solution_stack)
        log.info('App container is "{0}".'.format(container_name))

        try:
            response = eb_client.create_application_version(
                app_name, version_name)
        except AlreadyExistException:
            log.info('Version "{0}" of Application "{1}" already exists.'.\
                     format(version_name, app_name))
            prompt.info(
                CreateApplicationVersionOpMessage.AlreadyExist.format(
                    version_name))

            ret_result = OperationResult(self,
                                         None,
                                         CreateApplicationVersionOpMessage.AlreadyExist.\
                                            format(version_name),
                                         None)
        else:
            log.info('Received response for CreateApplicationVersion call.')
            prompt.info(
                CreateApplicationVersionOpMessage.Succeed.format(version_name))
            self._log_api_result(self.__class__.__name__,
                                 'CreateApplicationVersion', response.result)

            ret_result = OperationResult(self,
                                         response.request_id,
                                         CreateApplicationVersionOpMessage.Succeed.\
                                            format(version_name),
                                         response.result)

        if eb_utils.has_default_app(parameter_pool, solution_stack):
            log.info('Solution stack "{0}" has default sample app.'.format(
                solution_stack))
            prompt.info(
                CreateApplicationVersionOpMessage.HasDefaultAppSource.format(
                    solution_stack))
        else:
            # Set version to None
            source = parameter_pool.get_source(
                ParameterName.ApplicationVersionName)
            parameter_pool.put(
                Parameter(ParameterName.ApplicationVersionName, None, source),
                True)

        return ret_result
Exemplo n.º 2
0
    def execute(self, parameter_pool):
        eb_client = ElasticBeanstalkClient(parameter_pool.get_value(ParameterName.AwsAccessKeyId), 
                                           parameter_pool.get_value(ParameterName.AwsSecretAccessKey),
                                           parameter_pool.get_value(ParameterName.ServiceEndpoint))
        app_name = parameter_pool.get_value(ParameterName.ApplicationName)
        version_name = parameter_pool.get_value(ParameterName.ApplicationVersionName)
        solution_stack = parameter_pool.get_value(ParameterName.SolutionStack)

        container_name = eb_utils.match_solution_stack(solution_stack)
        log.info('App container is "{0}".'.format(container_name))

        try:
            response = eb_client.create_application_version(app_name, 
                                                            version_name)
        except AlreadyExistException:
            log.info('Version "{0}" of Application "{1}" already exists.'.\
                     format(version_name, app_name))
            prompt.info(CreateApplicationVersionOpMessage.AlreadyExist.format(version_name))
   
            ret_result = OperationResult(self,
                                         None, 
                                         CreateApplicationVersionOpMessage.AlreadyExist.\
                                            format(version_name),
                                         None)
        else:        
            log.info('Received response for CreateApplicationVersion call.')
            prompt.info(CreateApplicationVersionOpMessage.Succeed.format(version_name))
            self._log_api_result(self.__class__.__name__, 'CreateApplicationVersion', response.result)            

            ret_result = OperationResult(self,
                                         response.request_id, 
                                         CreateApplicationVersionOpMessage.Succeed.\
                                            format(version_name),
                                         response.result)

        if eb_utils.has_default_app(parameter_pool, solution_stack):
            log.info('Solution stack "{0}" has default sample app.'.format(solution_stack))
            prompt.info(CreateApplicationVersionOpMessage.HasDefaultAppSource.format(solution_stack))
        else:
            # Set version to None
            source = parameter_pool.get_source(ParameterName.ApplicationVersionName) 
            parameter_pool.put(Parameter(ParameterName.ApplicationVersionName, 
                                         None,
                                         source),
                               True)
            
        return ret_result