sceptre/stack.py
def launch(self):
        """
        Launches the stack.

        If the stack status is create_complete or rollback_complete, the
        stack is deleted. Launch thena tries to create or update the stack,
        depending if it already exists. If there are no updates to be
        performed, launch exits gracefully.

        :returns: The stack's status.
        :rtype: sceptre.stack_status.StackStatus
        """
        self.logger.info("%s - Launching stack", self.name)
        try:
            existing_status = self.get_status()
        except StackDoesNotExistError:
            existing_status = "PENDING"

        self.logger.info(
            "%s - Stack is in the %s state", self.name, existing_status
        )

        if existing_status == "PENDING":
            status = self.create()
        elif existing_status in ["CREATE_FAILED", "ROLLBACK_COMPLETE"]:
            self.delete()
            status = self.create()
        elif existing_status.endswith("COMPLETE"):
            try:
                status = self.update()
            except botocore.exceptions.ClientError as exp:
                error_message = exp.response["Error"]["Message"]
                if error_message == "No updates are to be performed.":
                    self.logger.info(
                        "%s - No updates to perform.", self.name
                    )
                    status = StackStatus.COMPLETE
                else:
                    raise
            status = status
        elif existing_status.endswith("IN_PROGRESS"):
            self.logger.info(
                "%s - Stack action is already in progress state and cannot "
                "be updated", self.name
            )
            status = StackStatus.IN_PROGRESS
        elif existing_status.endswith("FAILED"):
            status = StackStatus.FAILED
            raise CannotUpdateFailedStackError(
                "'{0}' is in a the state '{1}' and cannot be updated".format(
                    self.name, existing_status
                )
            )
        else:
            raise UnknownStackStatusError(
                "{0} is unknown".format(existing_status)
            )
        return status

        Launches the stack.

        If the stack status is create_complete or rollback_complete, the
        stack is deleted. Launch thena tries to create or update the stack,
        depending if it already exists. If there are no updates to be
        performed, launch exits gracefully.

        :returns: The stack's status.
        :rtype: sceptre.stack_status.StackStatus
        
Launches the stack.
If the stack status is create_complete or rollback_complete, the
stack is deleted. Launch thena tries to create or update the stack,
depending if it already exists. If there are no updates to be
performed, launch exits gracefully.
Launches the stack . If the stack status is create_complete or rollback_complete the stack is deleted . Launch thena tries to create or update the stack depending if it already exists . If there are no updates to be performed launch exits gracefully .
def launch(self):
        self.logger.info("%s - Launching stack", self.name)
        try:
            existing_status = self.get_status()
        except StackDoesNotExistError:
            existing_status = "PENDING"
        self.logger.info(
            "%s - Stack is in the %s state", self.name, existing_status
        )
        if existing_status == "PENDING":
            status = self.create()
        elif existing_status in ["CREATE_FAILED", "ROLLBACK_COMPLETE"]:
            self.delete()
            status = self.create()
        elif existing_status.endswith("COMPLETE"):
            try:
                status = self.update()
            except botocore.exceptions.ClientError as exp:
                error_message = exp.response["Error"]["Message"]
                if error_message == "No updates are to be performed.":
                    self.logger.info(
                        "%s - No updates to perform.", self.name
                    )
                    status = StackStatus.COMPLETE
                else:
                    raise
            status = status
        elif existing_status.endswith("IN_PROGRESS"):
            self.logger.info(
                "%s - Stack action is already in progress state and cannot "
                "be updated", self.name
            )
            status = StackStatus.IN_PROGRESS
        elif existing_status.endswith("FAILED"):
            status = StackStatus.FAILED
            raise CannotUpdateFailedStackError(
                "'{0}' is in a the state '{1}' and cannot be updated".format(
                    self.name, existing_status
                )
            )
        else:
            raise UnknownStackStatusError(
                "{0} is unknown".format(existing_status)
            )
        return status
def launch ( self ) : self . logger . info ( "%s - Launching stack" , self . name ) try : existing_status = self . get_status ( ) except StackDoesNotExistError : existing_status = "PENDING" self . logger . info ( "%s - Stack is in the %s state" , self . name , existing_status ) if existing_status == "PENDING" : status = self . create ( ) elif existing_status in [ "CREATE_FAILED" , "ROLLBACK_COMPLETE" ] : self . delete ( ) status = self . create ( ) elif existing_status . endswith ( "COMPLETE" ) : try : status = self . update ( ) except botocore . exceptions . ClientError as exp : error_message = exp . response [ "Error" ] [ "Message" ] if error_message == "No updates are to be performed." : self . logger . info ( "%s - No updates to perform." , self . name ) status = StackStatus . COMPLETE else : raise status = status elif existing_status . endswith ( "IN_PROGRESS" ) : self . logger . info ( "%s - Stack action is already in progress state and cannot " "be updated" , self . name ) status = StackStatus . IN_PROGRESS elif existing_status . endswith ( "FAILED" ) : status = StackStatus . FAILED raise CannotUpdateFailedStackError ( "'{0}' is in a the state '{1}' and cannot be updated" . format ( self . name , existing_status ) ) else : raise UnknownStackStatusError ( "{0} is unknown" . format ( existing_status ) ) return status
Launches the stack.
Launches the stack .
"""
        Launches the stack.

        If the stack status is create_complete or rollback_complete, the
        stack is deleted. Launch thena tries to create or update the stack,
        depending if it already exists. If there are no updates to be
        performed, launch exits gracefully.

        :returns: The stack's status.
        :rtype: sceptre.stack_status.StackStatus
        """
The stack's status.
The stack ' s status .
sceptre.stack_status.StackStatus
self