     @outputView
       .add 'Verifying credentials...'
       .add 'Bootstrap check initiated for credentials...'
+
+    if not credential or credential.provider isnt 'aws'
+      @cancelButton.setTitle 'Close'
+      return failed "
+        Required credentials are not provided yet, we are unable to test the
+        stack template. Stack template content is saved and can be tested once
+        required credentials are provided.
+      "
 
     credential.isBootstrapped (err, state) =>
 

    @handleCheckTemplate { stackTemplate }, (err, machines) =>

      @saveButton.hideLoader()

      if err
        @outputView.add "Parsing failed, please check your

    @setAsDefaultButton.hide()
    @inputTitle.unsetClass 'three-buttons'

    @saveTemplate (err, stackTemplate) =>

      if @outputView.handleError err
        @saveButton.hideLoader()
        return

      @outputView
        .add 'Template content saved.'
        .add 'Setting up custom variables...'

      meta = @variablesView._providedData
      data = { stackTemplate, meta }

      updateCustomVariable data, (err, _stackTemplate) =>

        if @outputView.handleError err
          @saveButton.hideLoader()
          return

        @outputView
          .add 'Custom variables are set.'
          .add 'Checking provided credentials...'

        @checkAndBootstrapCredentials (err, credentials) =>
          return @saveButton.hideLoader()  if err

          @outputView
            .add 'Credentials are ready!'
            .add 'Starting to process the template...'

          @processTemplate _stackTemplate
