Looking for PHP files with pattern: /home/internet/public_html/members/wp-content/plugins/backupbuddy/*.php
Found 351 files matching pattern. All files listed relative to path of this file.

File: /_compat.php


File: /_docgen.php

	$in_comment_block = false; // True when inside a comment block /* ... */ (can be multiple lines).
		if ( false !== strpos( $content, '/*' ) ) {
			$in_comment_block = true;
			$comment_block_contents = '';
		} // end checking for start of comment block.
		
		
		// Parse things NOT in comment blocks:
		if ( false === $in_comment_block ) {
			if ( ( false !== strpos( $content, 'class ' ) ) && ( false !== strpos( $content, ' {' ) ) ) { // todo: needs more specificity to avoid false positives.
				$in_class = substr( $content, strpos( $content, 'class ' ) + 6, -2 );
				echo '

Class: ' . $in_class . '

'; } } if ( true === $in_comment_block ) { $comment_block_contents .= $content; } // end if in comment block. if ( false !== strpos( $content, '*/' ) ) {

File: /_repairbuddy.php

/**
 *
 * -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
 *
 * WARNING:	THERE ARE ABSOLUTELY NO EDITABLE PORTIONS OF THIS SCRIPT.
 * 			ALL OPTIONS ARE CONFIGURABLE VIA THE WEB INTERFACE.
 *			YOU CAN EXTEND THE FUNCTIONALITY BY WRITING A MODULE
 *			SEE /repairbuddy/modules/ FOR EXAMPLES ON FUNCTIONAL MODULES
 *
 * -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
 *
 * Script Name: RepairBuddy.php for use with BackupBuddy backups.
 * Plugin URI: http://pluginbuddy.com/backupbuddy/
 * Description: Backup - Restore - Migrate. Backs up files, settings, and content for a complete snapshot of your site. Allows migration to a new host or URL.
 * Version: 0.0.1 - See repairbuddy/history.txt
 * Author: Dustin Bolton and Ronald Huereca
 * Author URI: http://pluginbuddy.com/
 *
 * Usage:
 * 
 * 1. Upload this script to the server you would like to repair/troubleshoot.
 * 2. Upload your backup ZIP file created with BackupBuddy.
 * 3. Navigate to the web address of this script. Ex: http://yoursite.com/repairbuddy.php
 * 4. Follow the on screen instructions.
 * 
 */
/**
 *	mkdir_recursive()
 *
 *	Recursively creates the directories needed to generate a full directory path.
 *
 *	$path		string		Full absolute path to generate.
 *	@return		null
 *
 */
/**
*	unpack_packbuddy()
*
*	Unpacks required files encoded in importbuddy.php into stand-alone files.
*
*	@return		null
*/

Class: pluginbuddy_repairbuddy

	/**
	 *	pluginbuddy_importbuddy()
	 *
	 *	Default constructor.
	 *
	 */
	/**
	 *	register_module()
	 *
	 *	Registers a new module. Typically this is called from the module's init.php within the module directory.
	 *	Modules must be registered here to show on the main page.
	 *	
	 *	@param			$module_slug			string		Module slug. Alphanumeric + underscores + dashes permitted.
	 *	@param			$module_title			string		Informative short title. 1-3 words.
	 *	@param			$module_description		string		Short descriptive sentence explaining the module.
	 *	@param			$module_default_page	string		Base name of the default page to load when clicking the module. pagename.php in the pages directory within the module.
	 *	@param			$bootstrap_wordpress	boolean		True: Load WordPress backend via wp-load.php.
	 *	@param			$is_minimode			string		True: Display the module at the bottom of the page as a small button. False: Large button up top.
	 *	@param			$is_subtle				string		True: Display the button as less prominent than other buttons. Currently only in use for minimode.
	 *	@return			null
	 */
	/**
	 *	alert()
	 *
	 *	Displays a message to the user.
	 *
	 *	$message		string		Message you want to display to the user.
	 *	$error			boolean		OPTIONAL! true indicates this alert is an error and displays as red. Default: false
	 *	$error_code		int			OPTIONAL! Error code number to use in linking in the wiki for easy reference.
	 */
	/**
	 *	log()
	 *
	 *	Logs to a text file depending on settings.
	 *	0 = none, 1 = errors only, 2 = errors + warnings, 3 = debugging (all kinds of actions)
	 *
	 *	$text		string		Text to log.
	 *	$log_type	string		Valid options: error, warning, all (default so may be omitted).
	 *
	 */
	/**
	 *	tip()
	 *
	 *	Displays a message to the user when they hover over the question mark. Gracefully falls back to normal tooltip.
	 *	HTML is supposed within tooltips.
	 *
	 *	$message		string		Actual message to show to user.
	 *	$title			string		Title of message to show to user. This is displayed at top of tip in bigger letters. Default is blank. (optional)
	 *	$echo_tip		boolean		Whether to echo the tip (default; true), or return the tip (false). (optional)
	 */
	/**
	 *	status_box()
	 *
	 *	Displays a textarea for placing status text into.
	 *
	 *	@param			$default_text	string		First line of text to display.
	 *	@return							string		HTML for textarea.
	 */
	/**
	 *	status()
	 *
	 *	Write a status line into an existing textarea created with the status_box() function.
	 *
	 *	@param			$type		string		message, details, error, or warning. Currently not in use.
	 *	@param			$message	string		Message to append to the status box.
	 *	@return			null
	 */
	/**
	 *	remove_dir()
	 *
	 *	?
	 *
	 *	@return			?
	 */

File: /backupbuddy.php

/**
 *
 *	Plugin Name: BackupBuddy
 *	Plugin URI: http://ithemes.com/purchase/backupbuddy/
 *	Description: The most complete WordPress solution for Backup, Restoration, and Migration. Backs up a customizable selection of files, settings, and content for the complete snapshot of your site. Restore and/or migrate your site to a new host or new domain with complete ease-of-mind.
 *	Version: 4.2.16.8
 *	Author: iThemes
 *	Author URI: http://ithemes.com/
 *	iThemes Package: backupbuddy
 *	
 *	Installation:
 *	1. Download and unzip the latest release zip file.
 *	2. If you use the WordPress plugin uploader to install this plugin skip to step 4.
 *	3. Upload the entire plugin directory to your `/wp-content/plugins/` directory.
 *	4. Activate the plugin through the 'Plugins' menu in WordPress Administration.
 * 
 *	Usage:
 *	1. Navigate to the new plugin menu labeled 'BackupBuddy' in the Wordpress Administration Panel.
 *
 *	Written by Dustin Bolton for iThemes.com
 *	BackupBuddy v1.0 launched March 4, 2010.
 *
 */

File: /init_admin.php

/********** MISC **********/
/* BEGIN HANDLING DATA STRUCTURE UPGRADE */
/* END HANDLING DATA STRUCTURE UPGRADE */
/********** ACTIONS (admin) **********/
/********** AJAX (admin) **********/
/********** DASHBOARD (admin) **********/
/********** FILTERS (admin) **********/
/********** PAGES (admin) **********/
/********** LIBRARIES & CLASSES (admin) **********/
/********** OTHER (admin) **********/

File: /init_global.php

/********** ACTIONS (global) **********/
/********** AJAX (global) **********/
/********** CRON (global) **********/
/********** FILTERS (global) **********/
/********** OTHER (global) **********/

Class: )


File: /pluginbuddy/_getting_started.php


File: /pluginbuddy/_pluginbuddy.php

/*	pluginbuddy class
 *	
 *	PluginBuddy.com framework for handling all plugin functioality, architecture, etc.
 *	$settings variable is expected to be in the same scope of this file and previously populated with all plugin settings.
 *	
 *	@author Dustin Bolton
 */

Class: pb_backupbuddy

	/*	self::init()
	 *	
	 *	Constructor for this static class. Called from the plugin's init (or other defined in pb_backupbuddy::settings( 'init' )) file.
	 *	
	 *	@param		array		$pluginbuddy_settings		Array of plugin settings such as slug, default options,
	 *														plugin-specific options, etc.
	 *	@return		null
	 */
	/*	self::plugin_path()
	 *	
	 *	Returns local path to plugin. Ex: /users/pb/www/wp-content/plugins/my_plugin (no trailing slash)
	 *	
	 *	@return		string		Plugin path directory (no trailing slash).
	 */
	/*	self::plugin_url()
	 *	
	 *	Returns URL to plugin directory. Ex: http://pluginbuddy.com/wp-content/plugins/my_plugin/ (with trailing slash)
	 *	
	 *	@return		string		Plugin path URL (with trailing slash).
	 */
	/*	self::page_url()
	 *	
	 *	Returns URL to the current admin page if on a plugin page. Ex: http://pluginbuddy.com/wp-admin/index.php?page=pb_myplugin
	 *	
	 *	@return		string		Plugin page URL (with trailing slash).
	 */
	/*	self::ajax_url()
	 *	
	 *	Returns the admin-side AJAX URL. Properly handles prefixing and everything for PB framework.
	 *	Todo: provide non-admin-side functionality?
	 *	
	 *	@param		string		$tag		Tag / slug of AJAX.
	 *	@return		string					URL for AJAX.
	 */
	/*	self::settings()
	 *	
	 *	Retrieves misc plugin settings both passed from the init file ( defined in pb_backupbuddy::settings( 'init' ) ) into self::$_settings
	 *	and also plugin settings defined in the init file ( defined in pb_backupbuddy::settings( 'init' ) ) header including:
	 *	name, title, description, author, authoruri, version, pluginuri OR url, textdomain, domainpath, network.
	 *	@see self::init()
	 *	
	 *	@param		string		$type		Type of setting to retrieve.
	 *	@return		mixed					Value associated with that settings. Null if not found.
	 */
	/*	self::blank()
	 *	
	 *	Returns whether a not a variable is blank (empty string, null, undefined) or not.
	 *	Be sure to suppress errors if using this function where indexes may be non-existant with @ sign.
	 *	
	 *	@param		mixed		Variable to determine if it is blank or not.
	 *	@return		boolean		True if variable is set and is not an empty string.
	 */
	/*	self::_POST()
	 *	
	 *	Returns $_POST value if available, else returns a blank. Prevents having to check isset first. Strips WP's added slashes.
	 *	
	 *	@param		string		Key of POST variable to check.
	 *	@return		mixed		Value of POST variable if set. If not set returns a blank string ''.
	 */
	/*	self::_GET()
	 *	
	 *	Returns $_POST value if available, else returns a blank. Prevents having to check isset first.
	 *	TODO: Do we need to stripslashes_deep() on GET vars also like POSTs?
	 *	
	 *	@param		string		Key of POST variable to check.
	 *	@return		mixed		Value of POST variable if set. If not set returns a blank string ''.
	 */
	/*	self::get_group()
	 *
	 *	Grabs & returns a reference to a specified point in the options array.
	 *	Ex usage: $group = &self::get_group( 'groups#' . $_GET['edit'] );
	 *	
	 *	@param		string	$savepoint_root		Path in the array to return a reference to.
	 *											Ex: groups#5 will grab self::$options['groups'][5]
	 *	@return		mixed						Value within the array at the specified point.
	 *											Can be used as a reference. See example in description.
	 *											NOTE: Returns false if not found.
	 */
	/*	self::load()
	 *	
	 *	Loads the plugin options array containing all user-configurable options, etc.
	 *	Access options via self::$options. Bypasses WP options caching for reliability.
	 *	
	 *	@return		null
	 */
	/*	self::_get_option()
	 *	
	 *	Bypasses WordPress options cache. Unfortunately there appears to be race condition issues with the built-in WP options system.
	 *	Used by load() function internally. Taken and modified from WordPress core.
	 *	@see load()
	 *	
	 *	@param		string		$option		Option name.
	 *	@param		mixed		$default	default = false; we do not use this.
	 *	@return		mixed					Saved option value.
	 */
	/*	self::save()
	 *	
	 *	Save plugin options to database.
	 *	
	 *	@return		boolean			True if save succeeded, false otherwise.
	 */
	/*	self::_update_option()
	 *	
	 *	Bypasses WordPress built in update option cache. Taken from WordPress core and modified.
	 *	@see self::_get_option()
	 *	@see self::save()
	 *	
	 *	@param		string	$option			Option name.
	 *	@param		mixed	$newvalue		New value to save into option.
	 *	@return		boolean					True on success; false otherwise.
	 */
	/*	self::reset_options()
	 *	
	 *	Reset plugin options to defaults passed in $settings in the init file's ( defined in pb_backupbuddy::settings( 'init' ) ) default_options section ( $settings['default_options'] ). Use with caution.
	 *	
	 *	@param		boolean		$verify		Must pass boolean value of true to be able to reset. Safety mechanism.
	 *	@return		boolean					true on reset, false otherwise.
	 */
	/**
	 *	anti_directory_browsing()
	 *
	 *	Helps security by attempting to block directory browsing by creating
	 *	both index.htm files and .htaccess files turning browsing off.
	 *
	 *	@param		string		$directory		Full absolute pass to insert anti-directory-browsing files into. No trailing slash.
	 *	@param		bool		$deny_all		When true also enforce denying ALL web-based access to directory. default false
	 *	@return		boolean						True on success securing directory, false otherwise.
	 */
	/*	set_status_serial()
	 *	
	 *	Define a default serial for all subsequent status() calls.
	 *	
	 *	@param		string		$serial		Unique identifier to use as default serial.
	 *	@return		null
	 */
	/*	add_status_serial()
	 *	
	 *	Add a serial for all subsequent status() calls to log to in addition to any currently logging serials.
	 *	
	 *	@param		string		$serial		Unique identifier to add to serials to log to.
	 *	@return		null
	 */
	/*	remove_status_serial()
	 *	
	 *	Remove a serial for all subsequent status() calls to log to in addition to any currently logging serials.
	 *	
	 *	@param		string		$serial		Unique identifier to remove from serials to log to.
	 *	@return		null
	 */
	/*	get_status_serial()
	 *	
	 *	Get current serial status logs are going to.
	 *	
	 *	@return		string		$serial		Current serial set.
	 */
	/**
	 *	self::status()
	 *
	 *	Logs data to a CSV file. Optional unique serial identifier.
	 *	If a serial is passed then EVERYTHING will be logged to the specified serial file in addition to whatever (if anything) is logged to main status file.
	 *	Always logs to main status file based on logging settings whether serial is passed or not.
	 *
	 *	@see self::get_status().
	 *
	 *	@param	string			$type		Valid types: error, warning, details, message
	 *	@param	string			$text		Text message to log.
	 *	@param	string|array	$serial		Optional. Optional unique identifier for this plugin's message. Status messages are unique per plugin so this adds an additional unique layer for retrieval.
	 *										If self::$_status_serial has been set by set_status_serial() then it will override if $serial is blank.
	 *	@return	null
	 */
			/*
			$content_array = array(
				pb_backupbuddy::$format->localize_time( time() ), //time(),
				sprintf( "%01.2f", round ( microtime( true ) - self::$start_time, 2 ) ),
				sprintf( "%01.2f", round( memory_get_peak_usage() / 1048576, 2 ) ),
				$type,
				str_replace( chr(9), '   ', $message ),
			);
			*/
			/********** MAIN LOG FILE **********/
			/********** SERIAL LOG FILE **********/
	/*	self::get_status()
	 *	
	 *	Gets all status information logged via status(). Returns an array of arrays with logged data.
	 *	Return format: array(
	 *					array( TIMESTAMP, TIME_IN, PEAK_MEMORY, TYPE, MESSAGE ),
	 *					array( TIMESTAMP, TYPE, MESSAGE ),
	 *				)
	 *
	 *	@see self::status().
	 *	
	 *	@param		string		$serial					Unique identifier. Retrieves a subset of logged information based on this unique ID that was passed to status() when logging.
	 *	@param		boolean		$clear_retrieved		Default: true. On true status information will be purged after retrieval.
	 *	@param		boolean		$erase_retrieved		Default: true. Whether or not to delete log file on retrieval. NOTE: PCLZip can NOT lose files mid-backup so log files cannot delete mid-zip.
	 *	@param		boolean		$hide_getting_status	Default: false. Whether or not to output status retrieval message.
	 *	@return		array								Array of arrays.  Each sub-array contains three values: timestamp, type of message, and the message itself. See function description for details. Empty array if non-existing log.
	 */
				/*
				if ( stristr( $status_line, $delimiter ) ) { // Deliminator in line.
					$status_lines[] = explode( $delimiter, trim( $status_line ) );
				} else { // No deliminator. Just print line with blank values.
					$status_lines[] = array( 0,0,0,'unknown', trim( $status_line ) );
				}
				*/
	/**
	 *	status_box()
	 *
	 *	Displays a textarea for placing status text into.
	 *
	 *	@param			$default_text	string		First line of text to display.
	 *	@param			boolean			$hidden		Whether or not to apply display: none; CSS.
	 *	@return							string		HTML for textarea.
	 */
	/**
	 *	set_greedy_script_limits()
	 *
	 *	Sets greedy script limits to help prevent timeouts, running out of memory, etc.
	 *
	 *	@return		null
	 *
	 */
	/**
	 *	self::log()
	 *
	 *	Logs to a text file depending on settings.
	 *	0 = none, 1 = errors only, 2 = errors + warnings, 3 = debugging (all kinds of actions)
	 *
	 *	@param	string	$text		Text to log.
	 *	@param	string	$log_type	Valid options: error, warning, all (default so may be omitted).
	 *	@return	null
	 */
	/*	self::random_string()
	 *	
	 *	Generate a random string of characters.
	 *	
	 *	@param		
	 *	@return		
	 */
	/**
	 *	self::video()
	 *
	 *	Displays a message to the user when they hover over the question mark. Gracefully falls back to normal tooltip.
	 *	HTML is supposed within tooltips.
	 *
	 *	@param		string		$video_key		YouTube video key from the URL ?v=VIDEO_KEY_HERE
	 *	@param		string		$title			Title of message to show to user. This is displayed at top of tip in bigger letters. Default is blank. (optional)
	 *	@param		boolean		$echo_tip		Whether to echo the tip (default; true), or return the tip (false). (optional)
	 *	@return		string/null					If not echoing tip then the string will be returned. When echoing there is no return.
	 */
	/**
	 *	self::alert()
	 *
	 *	Displays a message to the user at the top of the page when in the dashboard.
	 *
	 *	@param		string		$message		Message you want to display to the user.
	 *	@param		boolean		$error			OPTIONAL! true indicates this alert is an error and displays as red. Default: false
	 *	@param		int			$error_code		OPTIONAL! Error code number to use in linking in the wiki for easy reference.
	 *	@return		string/null					If not echoing alert then the string will be returned. When echoing there is no return.
	 */
	/**
	 *	self::tip()
	 *
	 *	Displays a message to the user when they hover over the question mark. Gracefully falls back to normal tooltip.
	 *	HTML is supposed within tooltips.
	 *
	 *	@param		string		$message		Actual message to show to user.
	 *	@param		string		$title			Title of message to show to user. This is displayed at top of tip in bigger letters. Default is blank. (optional)
	 *	@param		boolean		$echo_tip		Whether to echo the tip (default; true), or return the tip (false). (optional)
	 *	@return		string/null					If not echoing tip then the string will be returned. When echoing there is no return.
	 */
	/*	self::add_page()
	 *	
	 *	Adds a page into the admin. Stores menu items to add in self::$_page_settings array. Registers callback to register_admin_menu() with WordPress to actually set up the pages.
	 *	@see self::register_admin_menu()
	 *	
	 *	@param		string		$parent_slug		Slug of the parent menu item to go under. If a series use `SERIES` for the value to automatically handle the series. PB prefix automatically applied unless $slug_prefix overrides.
	 *	@param		string		$page_slug			Slug for this page. PB prefix automatically applied unless $slug_prefix overrides.
	 *	@param		string		$page_title			Title of the page. If this menu item has no parent this can be an array of TWO titles. The root menu and the first submenu item that links to the same place.
 	 *	@param		string		$capability			Capability required to access page. Default: activate_plugins.
 	 *	@param		string		$icon				Menu icon graphic. Automatically prefixes this value with the full URL to plugin's images directory. Default: icon_16x16.png.
 	 *	@param		string		$slug_prefix		Prefix to use with this menu. Override if needing to add menu under another plugin or core menus. Default: DEFAULT.
 	 *	@param		int			$position			Priority on where in the menu to add this. By default it is added to the bottom of the menu. It's possible to overwrite another menu item if this number matches. Use caution. Default: null.
	 *	@return		null
	 */
	/*	register_admin_menu()
	 *	
	 *	Internal callback for actually registering the menu items into WordPress. Registers pages defined by self::add_page().
	 *	@see self::add_page()
	 *	
	 *	@return		null
	 */
	/*	self::add_action()
	 *	
	 *	Registers a WordPress action. Action of the name $tag will call the method in /controllers/actions.php with the matching name.
	 *	
	 *	@param		string/array	$tag				Tag / slug for the action. If an array the first item is the tag, the second is an optional custom callback method name.
	 *	@param		int				$priority			Integer priority number for the action.
	 *	@param		int				$accepted_args		Number of arguments this action may accept in its method.
	 *	@return		null
	 */
	/*	self::add_ajax()
	 *	
	 *	Registers a WordPress ajax action. Ajax action of the name $tag will call the method in /controllers/ajax.php with the matching name.
	 *	
	 *	@param		string/array		$tag				Tag / slug for the action. If an array the first item is the tag, the second is an optional custom callback method name.
	 *	@return		null
	 */
	/*	self::add_cron()
	 *	
	 *	Registers a WordPress cron callback (technically an action). Cron action of the name $tag will call the method in /controllers/cron.php with the matching name.
	 *	@see cron_tag().	
	 *
	 *	@param		string/array	$tag				Tag / slug for the cron action. If an array the first item is the tag, the second is an optional custom callback method name.
	 *	@param		int				$priority			Integer priority number for the cron action.
	 *	@param		int				$accepted_args		Number of arguments this action may accept in its method.
	 *	@return		null
	 */
	/*	cron_tag()
	 *	
	 *	Returns the cron tag to use when scheduling an event.
	 *	
	 *	@param		string		$tag		Internal tag name to be translated (prefixes and such added).
	 *	@return		string
	 */
	/*	self::add_dashboard_widget()
	 *	
	 *	Registers a WordPress action. Action of the name $tag will call the method in /controllers/dashboard.php with the matching name.
	 *	
	 *	@param		string/array	$tag				Tag / slug for the action.
	 *	@param		string			$title				Dashboard widget title.
	 *	@param		string			$capability			Required capability to display. Also accepts `godmode` to only allow superadmins in multisite and admins in standalone.
	 *	@param		boolean			$accepted_args		Number of arguments this action may accept in its method.
	 *	@return		null
	 */
	/*	self::add_filter()
	 *	
	 *	Registers a WordPress filter. Filter of the name $tag will call the method in /controllers/filters.php with the matching name.
	 *	
	 *	@param		string/array		$tag				Tag / slug for the action. If an array the first item is the tag, the second is an optional custom callback method name.
	 *	@param		int				$priority			Integer priority number for the filter.
	 *	@param		int				$accepted_args		Number of arguments this filter may accept in its method.
	 */
	/*	self::add_shortcode()
	 *	
	 *	Registers a WordPress shortcode. Shortcode of the name $tag will call the method in /controllers/shortcodes.php with the matching name.
	 *	
	 *	@param		string/array		$tag				Tag / slug for the shortcode. If an array the first item is the tag, the second is an optional custom callback method name.
	 *	@return		
	 */
	/*	self::init_class_controller()
	 *	
	 *	Registers the UI class into the pluginbuddy framework for pages. Registered on demand by pages controller.
	 *	@see pages controller
	 *
	 *	@return		null
	 */
	/*	self::_init_core_controller()
	 *	
	 *	Initialize a core controller class (ex: pages, ajax, filters, etc) for pluginbuddy framework usage.
	 *	
	 *	@param		string		$name		Name of the controller to register. Valid controllers: actions, ajax, cron, dashboard, filters, shortcodes, pages.
	 *	@return		
	 */
	/*	self::nonce()
	 *	
	 *	Echos or returns a WordPress nonce for the framework. Handles prefixing. Use with forms for security. Verifies the user came from a WP generated page.
	 *	
	 *	@param		boolean		$echo		True: echos the none; false: returns nonce.
	 *	@return		null/string				Returns null or string based on $echo value.
	 */
	/*	self::verify_nonce()
	 *	
	 *	Verifies the nonce submitted in form.
	 *	
	 *	@return		null/true		Script die()'s on failure, returns true on success.
	 */
	/*	self::load_script()
	 *	
	 *	Load a JavaScript file into the page. Handles prefixed, enqueuing, etc.
	 *	
	 *	@param		string		$script			If a .js file is included then a file in the js directory is loaded; else loads a built-in named library script.
	 *											Ex: load_script( 'sort.js' ) will load /wp-content/plugins/my_plugin/js/sort.js; load_script( 'jquery' ) will load internal jquery library in WordPress if it exists.
	 *	@param		boolean		$core_script	If true scripts are loaded from /pluginbuddy/js/SCRIPT.js. Else scripts loaded from plugin's js directory.
	 *	@return		null
	 */
	/*	self::load_style()
	 *	
	 *	Load a CSS file into the page. Handles prefixed, enqueuing, etc.
	 *	
	 *	@param		string		$style			If a .css file is included then a file in the css directory is loaded; else loads a built-in named library style.
	 *											Ex: load_style( 'sort.css' ) will load /wp-content/plugins/my_plugin/css/sort.css; load_style( 'dashboard' ) will load internal dashboard css in WordPress if it exists.
	 *	@param		boolean		$core_style		If true styles are loaded from /pluginbuddy/css/STYLE.css. Else styles loaded from plugin's css directory.
	 *	@return		null
	 */
	/*	self::load_view()
	 *	
	 *	Loads a view. Typically called from within a controller. Data passed as second argument will has extract() ran on it within the view for easy variable access.
	 *	
	 *	@param		string		$view_name				Name of view. Corresponds to the view filename: /views/view_name.php
	 *	@param		array		$pluginbuddy_data		Array of variables to be extracted for use by the view.
	 *	@return		null
	 */
	/*	self::load_controller()
	 *	
	 *	Loads a controller. Controllers may load controllers. Controller uses require_once to avoid problems.
	 *	
	 *	@param		string		$controller				Name of controller. Corresponds to the controller filename: /controllers/controller_name.php
	 *	@return		null
	 */
	/*	self::register_widget()
	 *	
	 *	Registers a widget. Will register widget class in /controllers/widget/slug.php. Widget class extend WP_Widgets.
	 *	
	 *	@param		string		$slug		Name / slug for widget. Must match filename in controllers\widgets\ directory. Class name in the format: pb_{PLUGINSLUG}_widget_{WIDGETSLUG}
	 *	@return		null
	 */
	/**
	 *	array_remove()
	 *
	 *	Removes array values in $remove from $array.
	 *
	 *	@param			$array		array		Source array. This will have values removed and be returned.
	 *	@param			$remove		array		Array of values to search for in $array and remove.
	 *	@return						array		Returns array $array stripped of all values found in $remove
	 */
	/* flush()
	 *
	 * Attempt to strongarm a flush to actually work.
	 * Prevent flushing by adding this to wp-config.php:
	 *		define( 'BACKUPBUDDY_NOFLUSH', true );
	 *  OR
	 *		set advanced option to prevent flush
	 *
	 */
	/*	reset_defaults()
	 *	
	 *	Reset plugin options to defaults. Getting started page uses this.
	 *	
	 *	@return		boolean			True on success; false otherwise.
	 */

File: /pluginbuddy/standalone_preloader.php

/**
 * Navigates through an array and removes slashes from the values.
 *
 * If an array is passed, the array_map() function causes a callback to pass the
 * value back to the function. The slashes from this value will removed.
 *
 * @since 2.0.0
 *
 * @param array|string $value The array or string to be stripped.
 * @return array|string Stripped array (or string in the callback).
 */
/**
 * Check value to find if it was serialized.
 *
 * If $data is not an string, then returned value will always be false.
 * Serialized data is always a string.
 * Courtesy WordPress; since WordPress 2.0.5.
 *
 * @param mixed $data Value to check to see if was serialized.
 * @return bool False if not serialized and true if it was.
 */
/**
 * Check value to find if it was serialized.
 *
 * If $data is not an string, then returned value will always be false.
 * Serialized data is always a string.
 * Courtesy WordPress; since WordPress 2.0.5.
 *
 * @param mixed $data Value to check to see if was serialized.
 * @return bool False if not serialized and true if it was.
 */
/**
 * Determines the difference between two timestamps.
 *
 * The difference is returned in a human readable format such as "1 hour",
 * "5 mins", "2 days".
 *
 * @since 1.5.0
 *
 * @param int $from Unix timestamp from which the difference begins.
 * @param int $to Optional. Unix timestamp to end the time difference. Default becomes time() if not set.
 * @return string Human readable time difference.
 */
		/* translators: min=minute */
/**
 * Unserialize value only if it was serialized.
 *
 * @since 2.0.0
 *
 * @param string $original Maybe unserialized original, if is needed.
 * @return mixed Unserialized data can be any type.
 */

File: /pluginbuddy/classes/core_controllers.php

/*	class pb_backupbuddy_actions
 *	
 *	Handles actions. Currently just reports if actions were registered and called but the callback was missing.
 *	
 *	@return		null
 */

Class: pb_backupbuddy_actionscore

	/*	pluginbuddy_actionscore->__call()
	 *	
	 *	Magic method if a method is called that does not exist.
	 *	
	 *	@param		string		$name			Function name.
	 *	@param		array		$arguments		Array of arguments passed to function.
	 *	@return		null
	 */
/*	class pb_backupbuddy_ajaxcore
 *	
 *	Handles ajax. Currently just reports if ajax was registered and called but the callback was missing.
 *	
 *	@return		null
 */

Class: pb_backupbuddy_ajaxcore

	/*	pluginbuddy_shortcodes->__call()
	 *	
	 *	Magic method if a method is called that does not exist.
	 *	
	 *	@param		string		$name			Function name.
	 *	@param		array		$arguments		Array of arguments passed to function.
	 *	@return		null
	 */
/*	class pb_backupbuddy_croncore
 *	
 *	Handles crons. Currently just reports if crons were registered and called but the callback was missing.
 *	
 *	@return		null
 */

Class: pb_backupbuddy_croncore

	/*	pluginbuddy_shortcodes->__call()
	 *	
	 *	Magic method if a method is called that does not exist.
	 *	
	 *	@param		string		$name			Function name.
	 *	@param		array		$arguments		Array of arguments passed to function.
	 *	@return		null
	 */
/*	class pb_backupbuddy_dashboardcore
 *	
 *	Handles dashboard widgets (on main admin screen). Reports if admin dashboard widgets were registered and called but the callback was missing.
 *	Also handles the actual registering of the widgets.
 *	
 *	@return		null
 */

Class: pb_backupbuddy_dashboardcore

	/*	pluginbuddy_shortcodes->__call()
	 *	
	 *	Magic method if a method is called that does not exist.
	 *	
	 *	@param		string		$name			Function name.
	 *	@param		array		$arguments		Array of arguments passed to function.
	 *	@return		null
	 */
	/*	pluginbuddy_dashboard->register_widgets()
	 *	
	 *	Called back by WordPress to actually register the dashboard widget in the admin.
	 *	
	 *	@return		null
	 */
/*	class pb_backupbuddy_filterscore
 *	
 *	Handles filters. Currently just reports if filters were registered and called but the callback was missing.
 *	
 *	@return		null
 */

Class: pb_backupbuddy_filterscore

	/*	pluginbuddy_shortcodes->__call()
	 *	
	 *	Magic method if a method is called that does not exist.
	 *	
	 *	@param		string		$name			Function name.
	 *	@param		array		$arguments		Array of arguments passed to function.
	 *	@return		null
	 */
/*	class pb_backupbuddy_pagescore
 *	
 *	Handles admin pages. Reports if pages were registered and called but the callback was missing.
 *	Also provides load_controller() function for pages to call to load a controller while in the controller.
 *	
 *	@return		null
 */

Class: pb_backupbuddy_pagescore

	/*	pluginbuddy_pages->__call()
	 *	
	 *	Magic method if a method is called that does not exist.
	 *	Attempts to load a controller page matching the method name if possible.
	 *	
	 *	@param		string		$name			Function name.
	 *	@param		array		$arguments		Array of arguments passed to function.
	 *	@return		null
	 */
	/*	pluginbuddy_pages->load_controller()
	 *	
	 *	Load a controller from within a page (which is loaded by a controller itself).
	 *	
	 *	@param		string		$page		Name of the page. Loads page from /controllers/pages/NAME.php.
	 *	@return		
	 */
/*	class pb_backupbuddy_shortcodescore
 *	
 *	Handles shortcodes. Currently just reports if shortcodes were registered and called but the callback was missing.
 *	
 *	@return		null
 */

Class: pb_backupbuddy_shortcodescore

	/*	pluginbuddy_shortcodes->__call()
	 *	
	 *	Magic method if a method is called that does not exist.
	 *	
	 *	@param		string		$name			Function name.
	 *	@param		array		$arguments		Array of arguments passed to function.
	 *	@return		null
	 */

File: /pluginbuddy/classes/filesystem.php

/*	class pluginbuddy_filesystem
 *	@author Dustin Bolton
 *	
 *	Handles interfacing with the file system.
 */

Class: pb_backupbuddy_filesystem

	/*	pluginbuddy_filesystem->__construct()
	 *	
	 *	Default constructor.
	 *	
	 *	@return		null
	 */
	/*	pb_backupbuddy::$filesystem->mkdir()
	 *	
	 *	mkdir that defaults to recursive behaviour. 99% of the time this is what we want.
	 *	
	 *	@param		$pathname		string		Path to create.
	 *	@param		$mode			int			Default: 0777. See PHP's mkdir() function for details.
	 *	@param		$recursive		boolean		Default: true. See PHP's mkdir() function for details.
	 *	@return						boolean		Returns TRUE on success or FALSE on failure.
	 */
	/*	pluginbuddy_filesystem->unlink_recursive()
	 *	
	 *	Unlink a directory recursively. Files all files and directories within. USE WITH CAUTION.
	 *	
	 *	@param		string		$dir		Directory to delete -- all contents within, subdirectories, files, etc will be permanently deleted.
	 *	@return		boolean					True on success; else false.
	 */
	/**
	 *	pluginbuddy_filesystem->deepglob()
	 *
	 *	Like the glob() function except walks down into paths to create a full listing of all results in the directory and all subdirectories.
	 *	This is essentially a recursive glob() although it does not use recursion to perform this.
	 *
	 *	@param		string		$dir		Path to pass to glob and walk through.
	 *	@return		array					Returns array of all matches found.
	 */
			$files = array_diff( array_merge( glob( $source . '/.*' ), glob( $source . '/*' ) ), array( $source . '/.', $source . '/..' ) );
			
			if ( false === @mkdir( $destination ) )
				return false;
			
			$result = true;
			
			foreach ( (array) $files as $file ) {
				if ( false === $this->_custom_copy( $file, "$destination/", $args, $depth + 1 ) )
					$result = false;
			}
			
			return $result;
		}
		
		return false;
	} // End _copy().
	
	
	*/
	/*	function_name()
	 *	
	 *	function description
	 *	@param		array/bool		Array of directory paths to exclude.  If true then this directory is excluded so no need to check with exclusion directory.
	 *	@return		array			array( TOTAL_DIRECTORY_SIZE, TOTAL_SIZE_WITH_EXCLUSIONS_TAKEN_INTO_ACCOUNT, OBJECTS_FOUND, OBJECTS_FOUND_WITH_EXCLUSIONS )
	 */

File: /pluginbuddy/classes/form.php

/*	pluginbuddy class
 *	
 *	Form framework for handling all forms, validation, and their display.
 *	
 *	@author Dustin Bolton
 */

Class: pb_backupbuddy_form

	/*	pluginbuddy_form->_construct()
	 *	
	 *	Default constructor. Sets up the form.
	 *	
	 *	@param		string		$form_name					Name / slug of the form.
	 *	@param		string		$save_point					Save point to save form; Currently only used for settings form. @see pluginbuddy_settings->__construct().
	 *	@param		string		$additional_query_string	Additional querystring to append to end of form action URL.
	 *	@return		null
	 */
	/*	pluginbuddy_form->text()
	 *	
	 *	Add a text input.
	 *	
	 *	@param		string		$name			Name / slug for this form item.
	 *	@param		string		$value			Value for this form item.
	 *	@param		string		$rules			(optional) Rules to validate this form item against.
	 *	@return		null
	 */
	/*	pluginbuddy_form->plaintext()
	 *	
	 *	Add a text input.
	 *	
	 *	@param		string		$name			Name / slug for this form item.
	 *	@param		string		$value			Value for this form item.
	 *	@return		null
	 */
	/*	pluginbuddy_form->color()
	 *	
	 *	Add a color input; this is a text input that has a color selector.
	 *	
	 *	@param		string		$name			Name / slug for this form item.
	 *	@param		string		$value			Value for this form item.
	 *	@param		string		$rules			(optional) Rules to validate this form item against.
	 *	@return		null
	 */
	/*	pluginbuddy_form->hidden()
	 *	
	 *	Add a hidden input.
	 *	
	 *	@param		string		$name			Name / slug for this form item.
	 *	@param		string		$value			Value for this form item.
	 *	@param		string		$rules			(optional) Rules to validate this form item against.
	 *	@return		null
	 */
	/*	pluginbuddy_form->wysiwyg()
	 *	
	 *	Adds a text box wysiwyg.
	 *	@see wp_editor() in WordPress core.
	 *	
	 *	@param		string		$name			Name / slug for this form item.
	 *	@param		string		$value			Value for this form item.
	 *	@param		string		$rules			(optional) Rules to validate this form item against.
	 *	@param		array		$settings		WordPress settings array to pass to wp_editor(). @see wp_editor().
	 *	@return		null
	 */
	/*	pluginbuddy_form->textarea()
	 *	
	 *	Add a textarea input.
	 *	
	 *	@param		string		$name			Name / slug for this form item.
	 *	@param		string		$value			Value for this form item.
	 *	@param		string		$rules			(optional) Rules to validate this form item against.
	 *	@return		null
	 */
	/*	pluginbuddy_form->select()
	 *	
	 *	Add a select input.
	 *	
	 *	@param		string		$name			Name / slug for this form item.
	 *	@param		array		$options		Array of options for the dropdown.  The key is the slug and the value is the pretty user-displayed part. .
	 *	@param		string		$value			Value for this form item.
	 *	@param		string		$rules			(optional) Rules to validate this form item against.
	 *	@return		null
	 */
	/*	pluginbuddy_form->radio()
	 *	
	 *	Add a radio input.
	 *	
	 *	@param		string		$name			Name / slug for this form item.
	 *	@param		array		$options		Array of options for the radio inputs.  The key is the slug and the value is the pretty user-displayed part. array_value.
	 *	@param		string		$value			Value for this form item.
	 *	@param		string		$rules			(optional) Rules to validate this form item against.
	 *	@return		null
	 */
	/*	pluginbuddy_form->title()
	 *	
	 *	Add a radio input.
	 *	
	 *	@param		string		$name			Name / slug for this form item.
	 *	@param		string		$value			Value for this form item.
	 *	@param		string		$rules			(optional) Rules to validate this form item against.
	 *	@return		null
	 */
	/*	pluginbuddy_form->checkbox()
	 *	
	 *	Add a checkbox input.
	 *	
	 *	@param		string		$name			Name / slug for this form item.
	 *	@param		array		$options		Array format: array( 'unchecked' => 'unchecked_value', 'checked' => 'checked_value' );
	 *	@param		string		$value			Value for this form item.
	 *	@param		string		$rules			(optional) Rules to validate this form item against.
	 *	@return		null
	 */
	/*	pluginbuddy_form->password()
	 *	
	 *	Add a password input.
	 *	
	 *	@param		string		$name			Name / slug for this form item.
	 *	@param		string		$value			Value for this form item.
	 *	@param		string		$rules			(optional) Rules to validate this form item against.
	 *	@return		null
	 */
	/*	pluginbuddy_form->submit()
	 *	
	 *	Add a submit input.
	 *	
	 *	@param		string		$name			Name / slug for this form item.
	 *	@param		string		$value			Value for this form item. This is the text in the displayed button.
	 *	@return		null
	 */
	/*	pluginbuddy_form->start()
	 *	
	 *	Starts the form output.  Automatically runs under normal circumstances so usually should not need to be called directly.
	 *	
	 *	@param		string		$name			Name / slug for this form item.
	 *	@param		string		$value			Value for this form item.
	 *	@param		string		$rules			(optional) Rules to validate this form item against.
	 *	@return		null
	 */
	/*	pluginbuddy_form->end()
	 *	
	 *	Ends the form setting nonce and closing . NOT automatically run except in pluginbuddy_settings class.
	 *	
	 *	@param		string		$name			Name / slug for this form item.
	 *	@param		string		$value			Value for this form item.
	 *	@param		string		$rules			(optional) Rules to validate this form item against.
	 *	@return		null
	 */
	/*	pluginbuddy_form->display()
	 *	
	 *	Displays (echos) a form item and all its code/HTML.
	 *	@see pluginbuddy_form->get().
	 *	
	 *	@param		string		$name			Name / slug for this form item.
	 *	@param		string		$value			Value for this form item.
	 *	@param		string		$rules			(optional) Rules to validate this form item against.
	 *	@return		null
	 */
	/*	pluginbuddy_form->get()
	 *	
	 *	Returns a form item and all its code/HTML.
	 *	Left column is hidden if an object's title = ''.
	 *	title object type colspans 2.
	 *	
	 *	@param		string		$name			Name / slug for this form item.
	 *	@param		string		$css			Additional CSS to apply to form item.
	 *	@return		string						All HTML, etc for this form item.
	 */
			/********** TEXT **********/
			/********** PLAINTEXT **********/
			/********** COLOR **********/
			/********** HIDDEN **********/
			/********** WYSIWYG **********/
			/********** TITLE **********/
			/********** TEXTAREA **********/
			/********** PASSWORD **********/
			/********** SELECT **********/
			/********** RADIO **********/
			/********** CHECKBOX **********/
			/********** SUBMIT **********/
			/********** ~UNKNOWN TYPE~ **********/
	/*	pluginbuddy_form->set_value()
	 *	
	 *	Updates the value of an existing form item.
	 *	
	 *	@param		string		$name		Name of the item in the form to update. Ex: text
	 *	@param		string		$value		Value to apply to the form item.
	 *	@return		null
	 */
	/*	pluginbuddy_form->get_value()
	 *	
	 *	Get the submitted (POSTed) value of this form item.
	 *	
	 *	@param		string		$name			Name / slug for this form item.
	 *	@param		string		$value			Value for this form item.
	 *	@param		string		$rules			(optional) Rules to validate this form item against.
	 *	@return		null
	 */
	/*	pb_backupbuddy::test()
	 *	
	 *	Tests whether a form item's rules on a provided value. If no value is provided then will try to get the POST'ed value.
	 *	@see pb_backupbuddy::test_rule()
	 *	
	 *	@param		string		$name
	 *	@param		mixed		$value		Optional: This will be tested with the rule assigned to the form item with the provided name.
	 *										If empty we will try to test based on a submitted post value if it exists.
	 *	@return		true/array				true if the value passes; array of error messages on failure.
	 */
	/*	pluginbuddy_form->test_rule()
	 *	
	 *	Tests a provided ruleset against a value to verify whether it complies or not.
	 *	@author Dan Harzheim
	 *	@see pluginbuddy_form->test()
	 *	
	 *	@param		string		$rule			Rule(s) to validate against. See codex for details. TODO: document rulesets here.
	 *	@param		string		$value			Value to validate.
	 *	@param		array		$callbacks		NOT YET IMPLEMENTED. Array of callbacks for custom
	 *											verification methods. Each item in array is a
	 *											rule_name => callback_array pair.
	 *											Ex: $callbacks = array( 'phone' => array( $this, 'my_phone_validator' ) );
	 *	@return		true/array					true on success; array of error(s) encountered on failure.
	 */
			/* ***** REQUIRED *****
			 * Rule is required.
			 * Fail if $value is empty.
			 * if fails:  $errors[] = 'Value is not a string.';
			 * */
			/* ***** STRING *****
			 * check to make sure that the string is the appropriate length.
			 * */
			/* ***** INT TYPE *****
			 * make sure that the value fits inside of bounds
			 * make sure it doesn't include a decimal
			 * accepts blank value
			 * */
			/* ***** EMAIL TYPE *****
			 * validate to make sure the e-mail address is actually an e-mail address.
			 * */
			/* ***** SET TYPE *****
			 * make sure that $value falls into one of the types.
			 * */
			/* ***** NUM TYPE *****	
			 * make sure that $value is numeric, if so, make sure it fits inside of bounds
			 * */
	/*	clear_values()
	 *	
	 *	Clears the value of all form items setting the value to an empty string ''.
	 *	
	 *	@return		null
	 */

File: /pluginbuddy/classes/format.php

/*	class pluginbuddy_format
 *	@author Dustin Bolton
 *	
 *	Helps format content or data such as time, date, file size, etc.
 */

Class: pb_backupbuddy_format

	/*	pluginbuddy_format->__construct()
	 *	
	 *	Default constructor.
	 *	
	 *	@return		null
	 */
	/*	pluginbuddy_format->file_size()
	 *	
	 *	Takes a file size in bytes and transforms it into a human readable format with more friendly units. Decides on unit based on the size.
	 *	
	 *	@param		int		$size	File size.
	 *	@return		string			Human formatted friendly readable format.
	 */
	/*	pluginbuddy_format->date()
	 *	
	 *	Formats a timestamp into a nice human date format.
	 *	
	 *	@param		int		$timestamp		Timestamp to make pretty.
	 *	@param		string	$customFormat	Custom timestamp format. Else uses $this->_timestamp defined at top of this file.
	 *	@return		string					Pretty human timestamp.
	 */
	/*	pluginbuddy_format->unlocalize_time()
	 *	
	 *	Removes the timezone offset of a localized time display for a user.
	 *	
	 *	@param		int		$timestamp		Timestamp to remove time offset for.
	 *	@return		int						Corrected timestamp.
	 */
	/*	pluginbuddy_format->unlocalize_time()
	 *	
	 *	Removes the timezone offset of a localized time display for a user.
	 *	
	 *	@param		int		$timestamp		Timestamp to remove time offset for.
	 *	@return		int						Corrected timestamp.
	 */
	/*	pluginbuddy_format->time_ago()
	 *	
	 *	Accepts NON-localized timestamps.
	 *	@see time_duration
	 *	
	 *	@param		
	 *	@return		
	 */
	/*	pluginbuddy_format->duration()
	 *	
	 *	Returns a human readable duration. Useful for time ago or countdowns.
	 *	Ex: 5 hours, 4 minutes, 43 seconds.
	 *	
	 *	@param		int		$seconds		Number of seconds to turn into a human friendly readable format.
	 *	@return				string			Human readable string duration.
	 */
	/*	prettify()
	 *	
	 *	Takes a string and returns a more pretty version. Looks in an array for a key matching the string.
	 *	Returns the associated value. Returns original value if no pretty replacer is found.
	 *	Ex:
	 *		prettify( 'dog', array( 'cats' => 'Cats', 'dog' => 'Dog' ) );
	 *		Returns: Dog
	 *	
	 *	@param		string		$value			Value to be replaced with a pretty version.
	 *	@param		array		$replacements	Array of: value to look for => value to replace with.
	 *	@return		string						Pretty version that replaced $value. Returns original $value if not found in $replacements keys.
	 */
	/* multi_implode()
	 *
	 * Deep recursive implosion.
	 *
	 */

File: /pluginbuddy/classes/settings.php

/*	class pluginbuddy_settings
 *	@author Dustin Bolton
 *	
 *	Handles setting up and parsing submitted data for settings pages. Uses form class for handling forms.
 *	If a savepoint is passed to the constructor then settings will be auto-saved on save.
 *	If false is passed to the savepoint then the process() function may be used to validate and grab submitted form data for custom processing.
 *	@see pluginbuddy_form
 *	
 */

Class: pb_backupbuddy_settings

	/*	pluginbuddy_settings->__construct()
	 *	
	 *	Default constructor.
	 *	
	 *	@param		string			$form_name					Name / slug of the form.
	 *	@param		string			$save_point_or_custom_mode	Location in pb_backupbuddy::$options array to save to. Ex: groups#5 saves into: pb_backupbuddy::$options['groups'][5].
	 *				false										If false the process() function will not save but will return results instead including form name => value pairs in an array for processing.
	 *				array										If array then these will be treated as the defaults. Works the same as being false other than this.
	 *	@param		string			$additional_query_string	Additional querystring variables to pass in the form action URL.
	 *	@param		int				$custom_title_width			Custom title width in pixels. Formats table sizing.
	 *	@return		null
	 */
	/*	pluginbuddy_settings->add_setting()
	 *	
	 *	Register and add a setting to the settings form system.
	 *	
	 *	@param		array		$settings		Array of settings for this added setting. See $default_settings for list of options that can be defined.
	 *	@return		
	 */
	/*	pluginbuddy_settings->process()
	 *	
	 *	Processes the form if applicable (if it was submitted).
	 *	TODO: Perhaps add callback ability to this?
	 *	This must come after all form elements have been added.
	 *	This should usually happen in the controller prior to loading a view.
	 *	IMPORTANT: Applies trim() to all submitted form values!
	 *	
	 *	@return		null/array				When a savepoint was defined in class constructor nothing is returned. (normal operation)
	 *										When savepoint === false an array is returned for custom form processing.
	 *										Format: array( 'errors' => false/array, 'data' => array( 'form_keys' => 'form_values' ) ).
	 */
	/*	pluginbuddy_settings->display_settings()
	 *	
	 *	Displays all the registered settings in this object. Entire form and HTML is echo'd out.
	 *	@see pluginbuddy_settings->get_settings()
	 *	
	 *	@param		string		$submit_button_title		Text to display in the submit button.
	 *	@param		string		$before						Content before submit after.
	 *	@param		string		$after						Content after submit button.
	 *	@return		null
	 */

Class: = '' )

	/*	pluginbuddy_settings->get_settings()
	 *	
	 *	Returns all the registered settings in this object. Entire form and HTML is returned.
	 *	@see pluginbuddy_settings->display_settings()
	 *	radio button additional options:  orientation [ vertical / horizontal ]
	 *	
	 *	@param		string		$submit_button_title		Text to display in the submit button.
	 *	@param		string		$before						Content before submit after.
	 *	@param		string		$after						Content after submit button.
	 *	@return		string									Returns entire string with everything in it to display.
	 */

Class: = '' )

			/*
			$form->add_setting( array(
				'type'		=>		'text',
				'name'		=>		'image_width',
				'title'		=>		'Image Width',
				'tip'		=>		'This controls the size of the images in the Carousel. Images will be generated from the original images uploaded. Images will not be upscaled larger than the originals. You may change this at any time.',
				'css'		=>		'text-align: right;',
				'after'		=>		'px',
				'rules'		=>		'required',
			) );
			*/
	/*	clear_values()
	 *	
	 *	Clears the value of all form items setting the value to an empty string ''.
	 *	
	 *	@return		null
	 */
	/*	set_value()
	 *	
	 *	Replace the value of a form item.
	 *	
	 *	@param		string	$item_name		Name of the form setting item to update.
	 *	@param		string	$value			Value to set the item to.
	 *	@return		null
	 */

File: /pluginbuddy/classes/ui.php

/*	pluginbuddy_ui class
 *	
 *	Handles typical user interface items used in WordPress development.
 *	
 *	@author Dustin Bolton
 *	@version 1.0.0
 */

Class: pb_backupbuddy_ui

	/*	pluginbuddy_ui->start_metabox()
	 *	
	 *	Starts a metabox. Use with end_metabox().
	 *	@see pluginbuddy_ui->end_metabox
	 *	
	 *	@param		string				$title				Title to display for the metabox.
	 *	@param		boolean				$echo				Echos if true; else returns.
	 *	@param		boolean/string		$small_or_css		true: size is limited smaller. false: size is limited larger. If a string then interpreted as CSS.
	 *	@return		null/string								Returns null if $echo is true; else returns string with HTML.
	 */
	/*	pluginbuddy_ui->end_metabox()
	 *	
	 *	Ends a metabox. Use with start_metabox().
	 *	@see pluginbuddy_ui->start_metabox
	 *	
	 *	@param		boolean		$echo		Echos if true; else returns.
	 *	@return		null/string				Returns null if $echo is true; else returns string with HTML.
	 */
	/*	pluginbuddy_ui->title()
	 *	
	 *	Displays a styled, properly formatted title for pages.
	 *	
	 *	@param		string		$title		Title to display.
	 *	@param		boolean		$echo		Whether or not to echo the string or return.
	 *	@return		null/string				Returns null if $echo is true; else returns string with HTML.
	 */
	/*	pluginbuddy_ui->button()
	 *	
	 *	Displays a nice pretty styled button. How nice. Always returns.
	 *	
	 *	@param		string		$url				URL (href) for the button to link to.
	 *	@param		string		$text				Text to display in the button.
	 *	@param		string		$title				Optional title text to display on hover in the title tag.
	 *	@param		boolean		$primary			(optional) Whether or not this is a primary button. Primary buttons are blue and strong where default non-primary is grey and gentle.
	 *	@param		string		$additional_class	(optional) Additional CSS class to apply to button. Useful for thickbox or other JS stuff.
	 *	@param		string		$id					(optional) HTML ID to apply. Useful for JS.
	 *	@return		string							HTML string for the button.
	 */

Class: = '', $id = '' )

	/*	pluginbuddy_ui->note()
	 *	
	 *	Display text in a subtle way.
	 *	
	 *	@param		string		$text		Text of note.
	 *	@param		boolean		$echo		Whether or not to echo the string or return.
	 *	@return		null/string				Returns null if $echo is true; else returns string with HTML.
	 */
	/*	pluginbuddy_ui->list_table()
	 *	
	 *	Displays a nice table with multiple columns, rows, bulk actions, hover actions, etc similar to WordPress posts table.
	 *	Currently only supports echo of output.
	 *	
	 *	@param		array		$items		Array of rows to display. Each row array contains an array with the columns. Typically set in controller.
	 *										Ex: array( array( 'blue', 'red' ), array( 'brown', 'green' ) ).
	 *										If the value for an item is an array then the first value will be assigned to the rel tag of any hover actions. If not
	 *										an array then the value itself will be put in the rel tag.  If an array the second value will be the one displayed in the column.
	 *										BackupBuddy needed the displayed item in the column to be a link (for downloading backups) but the backup file as the rel.
	 *	@param		array		$settings	Array of all the various settings. Merged with defaults prior to usage. Typically set in view.
	 *										See $default_settings at beginning of function for available settings.
	 *										Ex: $settings = array(
	 *												'action'		=>		pb_backupbuddy::plugin_url(),
	 *												'columns'		=>		array( 'Group Name', 'Images', 'Shortcode' ),
	 *												'hover_actions'	=>		array( 'edit' => 'Edit Group Settings' ),		// Slug can be a URL. In this case the value of the hovered row will be appended to the end of the URL. TODO: Make the first hover action be the link for the first listed item.
	 *												'bulk_actions'	=>		array( 'delete_images' => 'Delete' ),
	 *											);
	 *	@return		null
	 */
	/**
	 *	pb_backupbuddy::get_feed()
	 *
	 *	Gets an RSS or other feed and inserts it as a list of links...
	 *
	 *	@param		string		$feed		URL to the feed.
	 *	@param		int			$limit		Number of items to retrieve.
	 *	@param		string		$append		HTML to include in the list. Should usually be 
  • items including the
  • code. * @param string $replace String to replace in every title returned. ie twitter includes your own username at the beginning of each line. * @return string */
  • 	/**
    	 *	pb_backupbuddy::tip()
    	 *
    	 *	Displays a message to the user when they hover over the question mark. Gracefully falls back to normal tooltip.
    	 *	HTML is supposed within tooltips.
    	 *
    	 *	@param		string		$message		Actual message to show to user.
    	 *	@param		string		$title			Title of message to show to user. This is displayed at top of tip in bigger letters. Default is blank. (optional)
    	 *	@param		boolean		$echo_tip		Whether to echo the tip (default; true), or return the tip (false). (optional)
    	 *	@return		string/null					If not echoing tip then the string will be returned. When echoing there is no return.
    	 */
    
    	/**
    	 *	pb_backupbuddy::alert()
    	 *
    	 *	Displays a message to the user at the top of the page when in the dashboard.
    	 *
    	 *	@param		string		$message		Message you want to display to the user.
    	 *	@param		boolean		$error			OPTIONAL! true indicates this alert is an error and displays as red. Default: false
    	 *	@param		int			$error_code		OPTIONAL! Error code number to use in linking in the wiki for easy reference.
    	 *	@return		null
    	 */
    
    	/**
    	 *	pb_backupbuddy::disalert()
    	 *
    	 *	Displays a DISMISSABLE message to the user at the top of the page when in the dashboard.
    	 *
    	 *	@param		string		$message		Message you want to display to the user.
    	 *	@param		boolean		$error			OPTIONAL! true indicates this alert is an error and displays as red. Default: false
    	 *	@param		int			$error_code		OPTIONAL! Error code number to use in linking in the wiki for easy reference.
    	 *	@return		null
    	 */
    
    	/**
    	 *	pb_backupbuddy::video()
    	 *
    	 *	Displays a YouTube video to the user when they hover over the question video mark.
    	 *	HTML is supposed within tooltips.
    	 *
    	 *	@param		string		$video_key		YouTube video key from the URL ?v=VIDEO_KEY_HERE  -- To jump to a certain timestamp add #SECONDS to the end of the key, where SECONDS is the number of seconds into the video to start at. Example to start 65 seconds into a video: 9ZHWGjBr84s#65. This must be in seconds format.
    	 *	@param		string		$title			Title of message to show to user. This is displayed at top of tip in bigger letters. Default is blank. (optional)
    	 *	@param		boolean		$echo_tip		Whether to echo the tip (default; true), or return the tip (false). (optional)
    	 *	@return		string/null					If not echoing tip then the string will be returned. When echoing there is no return.
    	 */
    
    	/*	start_tabs()
    	 *	
    	 *	Starts a tabbed interface.
     	 *	@see end_tabs().
    	 *	
    	 *	@param		string		$interface_tag		Tag/slug for this entire tabbed interface. Should be unique.
    	 *	@param		array		$tabs				Array containing an array of settings for this tabbed interface. Ex:  array( array( 'title'> 'my title', 'slug' => 'mytabs' ) );
    	 *												Optional setting with key `ajax_url` may define a URL for AJAX loading.
    	 *	@param		string		$css				Additional CSS to apply to main outer div. (optional)
    	 *	@param		boolean		$echo				Echo output instead of returning. (optional)
    	 *	@param		int			$active_tab_index	Tab to start as active/selected.
    	 *	@return		null/string						null if $echo = false, all data otherwise.
    	 */
    
    		/*
    		$return .= '';
    		*/
    
    		/*
    		$return .= '
    '; $return .= '
      '; foreach( $tabs as $tab ) { if ( ! isset( $tab['css'] ) ) { $tab['css'] = ''; } if ( isset( $tab['ajax'] ) && ( $tab['ajax_url'] != '' ) ) { // AJAX tab. $return .= '
    • ' . $tab['title'] . '
    • '; } else { // Standard; NO AJAX. $return .= '
    • ' . $tab['title'] . '
    • '; } } $return .= '
    '; $return .= '
    '; $return .= '
    '; */
    	/*	end_tabs()
    	 *	
    	 *	Closes off a tabbed interface.
    	 *	@see start_tabs().
    	 *	
    	 *	@param		boolean		$echo				Echo output instead of returning.  (optional)
    	 *	@return		null/string						null if $echo = false, all data otherwise.
    	 */
    
    		/*
    		$return = '';
    		$return .= '	';
    		$return .= '';
    		*/
    
    	/*	start_tab()
    	 *	
    	 *	Opens the start of an individual page to be loaded by a tab.
    	 *	@see end_tab().
    	 *	
    	 *	@param		string		$tab_tag			Unique tag for this tab section. Must match the tag defined when creating the tab interface.
    	 *	@param		boolean		$echo				Echo output instead of returning.  (optional)
    	 *	@return		null/string						null if $echo = false, all data otherwise.
    	 */
    
    	/*	end_tab()
    	 *	
    	 *	Closes this tab section.
    	 *	@see start_tab().
    	 *	
    	 *	@param		string		$tab_tag			Unique tag for this tab section. Must match the tag defined when creating the tab interface.
    	 *	@param		boolean		$echo				Echo output instead of returning.  (optional)
    	 *	@return		null/string						null if $echo = false, all data otherwise.
    	 */
    
    	/*	ajax_header()
    	 *	
    	 *	Output HTML headers when using AJAX.
    	 *	
    	 *	@param		boolean		$js			Whether or not to load javascript. Default false.
    	 *	@param		bool		$padding	Whether or not to padd wrapper div. Default has padding.
    	 *	@return		
    	 */
    

    File: /lib/dbreplace/dbreplace.php

    /**
     *	pluginbuddy_dbreplace Class
     *
     *	Handles replacement of data in a table/database, text or serialized. A database connection should be initialized before instantiation.
     *	
     *	Version: 1.0.0
     *	Author: Dustin Bolton
     *	Author URI: http://dustinbolton.com/
     *
     *	@param		$status_callback		object		Optional object containing the status() function for reporting back information.
     *	@return		null
     *
     */
    

    Class: pluginbuddy_dbreplace

    		/**
    		 *	__construct()
    		 *	
    		 *	Default constructor. Sets up optional status() function class if applicable.
    		 *	
    		 *	@param		reference	&$status_callback		[optional] Reference to the class containing the status() function for status updates.
    		 *	@return		null
    		 *
    		 */
    
    		/**
    		 *	text()
    		 *	
    		 *	Replaces text within a table by specifying the table, rows to replace within and the old and new value(s).
    		 *	
    		 *	@param		string		$table		Table to replace text in.
    		 *	@param		mixed		$olds		Old value(s) to find for replacement. May be a string or array of values.
    		 *	@param		mixed		$news		New value(s) to be replaced with. May be a string or array. If array there must be the same number of values as $olds.
    		 *	@param		mixed		$rows		Table row(s) to replace within. May be an array of tables.
    		 *	@return		null
    		 *
    		 */
    
    		/**
    		 *	serialized()
    		 *	
    		 *	Replaces serialized text within a table by specifying the table, rows to replace within and the old and new value(s).
    		 *	
    		 *	@param		string		$table		Table to replace text in.
    		 *	@param		mixed		$olds		Old value(s) to find for replacement. May be a string or array of values.
    		 *	@param		mixed		$news		New value(s) to be replaced with. May be a string or array. If array there must be the same number of values as $olds.
    		 *	@param		mixed		$rows		Table row(s) to replace within. May be an array of tables.
    		 *	@return		null
    		 *
    		 */
    
    		/**
    		 *	replace_maybe_serialized()
    		 *	
    		 *	Replaces possibly serialized (or non-serialized) text if a change is needed. Returns false if there was no change.
    		 *  Note: As of BB v3.2.x supports double serialized data.
    		 *	
    		 *	@param		string		$table		Text (possibly serialized) to update.
    		 *	@param		mixed		$olds		Text to search for to replace. May be an array of strings to search for.
    		 *	@param		mixed		$news		New value(s) to be replaced with. May be a string or array. If array there must be the same number of values as $olds.
    		 *	@return		mixed					Returns modified string data if serialized data was replaced. False if no change was made.
    		 *
    		 */
    
    		/**
    		 *	bruteforce_table()
    		 *
    		 *	!!! HANDLES SERIALIZED DATA !!!!
    		 *	Replaces text, serialized or not, within the entire table. Bruteforce method iterates through every row & column in the entire table and replaces if needed.
    		 *	
    		 *	@param		string		$table		Text (possibly serialized) to update.
    		 *	@param		mixed		$olds		Text to search for to replace. May be an array of strings to search for.
    		 *	@param		mixed		$news		New value(s) to be replaced with. May be a string or array. If array there must be the same number of values as $olds.
    		 *	@return		int						Number of rows changed.
    		 *
    		 */
    
    		/**
    		 *	recursive_array_replace()
    		 *	
    		 *	Recursively replace text in an array, stepping through arrays within arrays as needed.
    		 *	
    		 *	@param		string		$find		Text to find.
    		 *	@param		string		$replace	Text to replace found text with.
    		 *	@param		reference	&$data		Pass the variable to change the data within.
    		 *	@return		boolean					Always true currently.
    		 *
    		 */
    
    		/**
    		 * Check value to find if it was serialized.
    		 *
    		 * If $data is not an string, then returned value will always be false.
    		 * Serialized data is always a string.
    		 *
    		 * Courtesy WordPress; since WordPress 2.0.5.
    		 *
    		 * @param mixed $data Value to check to see if was serialized.
    		 * @return bool False if not serialized and true if it was.
    		 */
    
    		/**
    		 *	remove_matching_array_elements()
    		 *	
    		 *	Removes identical elements (same index and value) from both arrays where they match.
    		 *
    		 *	Ex:
    		 *		// Before:
    		 *		$a = array( 'apple', 'banana', 'carrot' );
    		 *		$b = array( 'apple', 'beef', 'cucumber' );
    		 *		remove_matching_array_elements( $a, $b );
    		 *		// After:
    		 *		$a = array( 'banana', 'carrot' );
    		 *		$b = array( 'beef', 'cucumber' );
    		 *	
    		 *	@param		array		&$a		First array to compare with second. (reference)
    		 *	@param		array		&$b		Second array to compare with first. (reference)
    		 *	@return		null				Arrays passed are updated as they are passed by reference.
    		 *
    		 */
    

    File: /lib/cpanel/cpanel.php

    /*
    EXAMPLE:
    
    require_once( pb_backupbuddy::plugin_path() . '/lib/cpanel/cpanel.php' );
     
    $cpanel_user = pb_backupbuddy::_GET( 'user' );
    $cpanel_password = pb_backupbuddy::_GET( 'pass' );
    $cpanel_host = "foo.com";
    $db_name = 'apples';
    $db_user = 'oranges';
    $db_pass = 'bananas';
    $create_db_result = pb_backupbuddy_cpanel::create_db( $cpanel_user, $cpanel_password, $cpanel_host, $db_name, $db_user, $db_pass );
    
    if ( $create_db_result === true ) {
    	echo 'Success! Created database, user, and assigned used to database.';
    } else {
    	echo 'Error(s):
    ' . print_r( $create_db_result, true ) . '
    '; } */
    /*	pb_backupbuddy_cpanel Class
     *	
     *	Manage some cpanel settings.
     *	
     *	@author		Dustin Bolton  Sept 2012.
     */
    

    Class: pb_backupbuddy_cpanel

    	/*	create_db()
    	 *	
    	 *	Create a database and assign a user to it with all privilages.
    	 *	
    	 *	@param		
    	 *	@return		true|array		Boolean true on success, else an array of errors.
    	 */
    

    File: /lib/mysqlbuddy/mysqlbuddy.php

    /*	pb_backupbuddy_mysqlbuddy class
     *	
     *	@since 3.0.0
     *
     *	Helps backup and restore database tables.
     *	Dumps a mysql database (all tables, tables with a certain prefix, or none) with additional inclusions/exclusions of tables possible.
     *	Automatically determines available dump methods (unless method is forced). Runs methods in order of preference. Falls back automatically
     *	to any `lesser` methods if any fail.
     *
     *	Requirements:
     *
     *		Expects mysql to already be set up and connected.
     *
     *	General process order:
     *
     *		Construction: __construct() -> [available_zip_methods()]
     *		Dump: dump() -> _calculate_tables() -> [_mysql and/or _php]
     *
     *		Method process:
     *			_mysql method (FAST):
     *				Builds the command line -> runs command via exec() -> checks exit code -> verifies .sql file was created; falls to next method if exit code is bad or .sql file is missing.
     *			_php method (SLOW; compatibility mode; only mode pre-3.0):
     *				Iterates through all tables issuing SQL commands to server to get create statements and all database content. Very brute force method.
     *
     *	@author Dustin Bolton < http://dustinbolton.com >
     */
    

    Class: pb_backupbuddy_mysqlbuddy

    	/********** Properties **********/
    
    	/********** Methods **********/
    
    	/*	__construct()
    	 *	
    	 *	Default rows per select is determined by default private var above if none passed. Overriden by pb_backupbuddy::$options['phpmysqldump_maxrows'] if not blank and is numeric and overriden by passed parameter if defined.
    	 *	
    	 *	@param		string		$database_host			Host / server of database to pull from. May be in the format: `localhost` for normal; `localhost:/path/to/mysql.sock` for sockets. If sockets then parased and internal class variables set appropriately.
    	 *	@param		string		$database_name			Name of database to pull from.
    	 *	@param		string		$database_user			User of database to pull from.
    	 *	@param		string		$database_pass			Pass of database to pull from.
    	 *	@param		string		$database_prefix		Prefix of tables in database to pull from / insert into (only used if base mode is `prefix`).
    	 *	@param		array		$force_methods			Optional. Override automatic method detection. Skips test and runs first method first.  Falls back to other methods if any failure. Possible methods:  commandline, php
    	 *	@param		int			$maxExecution			Optional. Maximum execution time to run for before stopping to allow for continuing the next import picking up where we left off.
    	 *	@param		int			$max_rows_per_select	Optional. For PHP-based mysql dump, max number of rows per select to grab.
    	 *	@return		
    	 */
    
    	/*	available_dump_methods()
    	 *	
    	 *	function description
    	 *	
    	 *	@param		
    	 *	@return		string				Possible returns:  mysqldump, php
    	 */
    
    			/********** Begin preparing command **********/
    
    			/********** End preparing command **********/
    
    	/*	_calculate_mysql_dir()
    	 *	
    	 *	Tries to determine the path to where mysql is installed.  Needed for running by command line.  Prepends found location to list of possible default mysql directories.
    	 *	
    	 *	@return		array			Array of directories in preferred order.
    	 */
    
    	/*	dump()
    	 *	
    	 *	function description
    	 *
    	 *	@see _mysqldump().
    	 *	@see _phpdump().
    	 *	
    	 *	@param		string		$output_directory		Directory to output to. May also be used as a temporary file location. Trailing slash auto-added if missing.
    	 *	@param		array		$tables					Array of tables to dump.
    	 *	REMOVED: @param		string		$base_dump_mode			Determines which database tables to dump by default. $additional_[includes/excludes] modified. Modes: all, none, or prefix.
    	 *	REMOVED: @param		array		$additional_includes	Array of additional table(s) to INCLUDE in dump. Added in addition to those found by the $base_dump_mode
    	 *	REMOVED: @param		array		$additional_excludes	Array of additional table(s) to EXCLUDE from dump. Removed from those found by the $base_dump_mode + $additional_includes.
    	 *	@return
    	 */
    
    	/*	_dump_commandline()
    	 *	
    	 *	function description
    	 *	
    	 *	@param		string		$output_directory		Directory to output to. May also be used as a temporary file location. Trailing slash required. dump() auto-adds trailing slash before passing.
    	 *	@param		array		$tables					Array of tables to dump.
    	 *	REMOVED: @param		string		$base_dump_mode			Base dump mode. Used to tell whether or not to dump entire database or piecemeal tables. Try to keep command line short.
    	 *	REMOVED: @param		array		$additional_excludes	Additional excludes. Used to tell whether or not to dump entire database or piecemeal tables. Try to keep command line short.
    	 *	@return		
    	 */
    
    		/*
    		if ( ( $base_dump_mode == 'all' ) && ( count( $additional_excludes ) == 0 ) ) { // Dumping ALL tables in the database so do not specify tables in command line.
    			// Do nothing. Just dump full database.
    			pb_backupbuddy::status( 'details', 'mysqlbuddy: Dumping entire database with no exclusions.' );
    		} elseif ( ( $base_dump_mode == 'all' ) && ( count( $additional_excludes ) > 0 ) ) { // Dumping all tables by default BUT also excluding certain ones.
    			pb_backupbuddy::status( 'details', 'mysqlbuddy: Dumping entire database with additional exclusions.' );
    			// Handle additional exclusions.
    			$additional_excludes = array_filter( $additional_excludes ); // ignore any phantom excludes.
    			foreach( $additional_excludes as $additional_exclude ) {
    				$exclude_command .= " --ignore-table={$this->_database_name}.{$additional_exclude}";
    			}
    		} else { // Only dumping certain 
    			pb_backupbuddy::status( 'details', 'mysqlbuddy: Dumping specific tables.' );
    			$tables_string = implode( ' ', $tables ); // Specific tables listed to dump.
    		}
    		*/
    
    		/********** Begin preparing command **********/
    
    		/*
    		Notes:
    			--skip-opt				Skips some default options. MUST add back in create-options else autoincrement will be lost! See http://dev.mysql.com/doc/refman/5.5/en/mysqldump.html#option_mysqldump_opt
    			--quick
    			--skip-comments			Dont bother with extra comments.
    			--create-options		Required to add in auto increment option.
    			--disable-keys			Prevent re-indexing the database after each and every insert until the entire table is inserted. Prevents timeouts when a db table has fulltext keys especially.
    		*/
    
    		/********** End preparing command **********/
    
    		/********** Begin command line length check **********/
    
    		/********** End command line length check **********/
    
    	/*	_phpdump()
    	 *	
    	 *	PHP-based dumping of SQL data. Compatibility mode. Was only mode pre-3.0.
    	 *	
    	 *	@param		string		$output_directory		Directory to output to. May also be used as a temporary file location. Trailing slash required. dump() auto-adds trailing slash before passing.
    	 *	@param		array		$tables					Array of tables to dump.
    	 *	REMOVED: @param		string		$base_dump_mode			Base dump mode. NOT USED. Consistent with other dump mode.
    	 *	REMOVED: @param		array		$additional_excludes	Additional excludes. NOT USED. Consistent with other dump mode.
    	 *	@return		
    	 */
    
    			$insert_sql .= "/*!40000 ALTER TABLE `{$table}` DISABLE KEYS */;\n";
    
    			$insert_sql .= "/*!40000 ALTER TABLE `{$table}` ENABLE KEYS */;\n";
    
    	/*	get_methods()
    	 *	
    	 *	Get an array of methods. Note: If force overriding methods then detected methods will not be able to display.
    	 *	
    	 *	@return		array				Array of methods.
    	 */
    
    	/*	import()
    	 *	
    	 *	Import SQL contents of a .sql file into the database. Only modification is to table prefix if needed. Prefixes (new and old) provided in constructor.
    	 *	Automatically handles fallback based on best available methods.
    	 *	
    	 *	@param		string		$sql_file				Full absolute path to .sql file to import from.
     	 *	@param		string		$old_prefix				Old database prefix. New prefix provided in constructor.
     	 *	@param		int			$query_start			Query number (aka line number) to resume import at.
     	 *	@param		boolean		$ignore_existing		Whether or not to allow import if tables exist already. Default: false.
    	 *	@return		mixed								true on success (boolean)
    	 *													false on failure (boolean)
    	 *													integer (int) on needing a resumse (integer is resume number for next page loads $query_start)
    	 */
    
    		/********** Begin preparing command **********/
    
    		/********** End preparing command **********/
    
    	/*	_import_php()
    	 *	
    	 *	Import from .SQL file into database via PHP by reading in file line by line.
    	 *	Using codebase from BackupBuddy / importbuddy 2.x.
    	 *	@see import().
    	 *	@since 2.x.
    	 *	
    	 *	@param		SEE import() PARAMETERS!!
    	 *	@return		mixed			True on success (and completion), integer on incomplete (resume needed via $query_start), false on failure.
    	 */
    
    	/**
    	 *	_import_sql_dump_line()
    	 *
    	 *	Imports a line/query into the database.
    	 *	Handles using the specified table prefix.
    	 *	@since 2.x.
    	 *
    	 *	@param		string		$query			Query string to run for importing.
    	 *	@param		string		$old_prefix		Old prefix. (new prefix was passed in constructor).
    	 *	@return		boolean						True=success, False=failed.
    	 *
    	 */
    

    File: /lib/commandbuddy/commandbuddy.php

    Class: pb_backupbuddy_commandbuddy

    	/*	execute()
    	 *	
    	 *	Execute a command via the command line.
    	 *	Example usage:
    	 *		list( $exec_output, $exec_exit_code ) = $this->execute( 'COMMANDHHERE' );
    	 *	
    	 *	@param		string		$command		Command line to run.
    	 *	@return		array						Associative array of the response output and exist code. Use with list to assign variables.
    	 *											Format: array( EXEC_OUTPUT, EXIT_CODE );
    	 */
    

    File: /lib/wpdbutils/wpdbutils.php

    /**
     *	pluginbuddy_wpdbutils Class
     *
     *  Provides utility functions for helping with WordPress database handling
     *	
     *	Version: 1.0.1
     *	Author:
     *	Author URI:
     *
     *  @param		$db			object		Mandatory WordPress database object which is the database to operate on
     *	@return		null
     *
     */
    

    Class: pluginbuddy_wpdbutils

    		/**
    		 * wpdb object 
    		 * 
    		 * @var wpdb
    		 */
    
    		/**
    		* Whether or not mysqli is in use.
    		*/
    
    		/**
    		 * parent object
    		 * 
    		 * @var parent object
    		 */
    
    		/**
    		 * Whether or not we can call a status calback
    		 * 
    		 * @var have_status_callback bool
    		 */
    
    		/**
    		 * Object->method array for status function
    		 * 
    		 * @var status_callback array
    		 */
    
    		/**
    		 *	__construct()
    		 *	
    		 *	Default constructor. Sets up optional status() function linkage if applicable.
    		 *	
    		 *  @param		reference	&$db			[mandatory] Reference to the database object
    		 *	@return		null
    		 *
    		 */
    
    		/**
    		 *	__destruct()
    		 *	
    		 *	Default destructor.
    		 *	
    		 *	@return		null
    		 *
    		 */
    
    		/**
    		 *	kick()
    		 *	
    		 *	Kicks the database to see if the conenction is still alive and if it isn't then tries to reconnect
    		 *	
    		 *	@return		true if connection alive (may have been reconnected), false otherwise (dead and couldn't be reconnected)
    		 *
    		 */
    
    		/* _mysql_ping()
    		 *
    		 * Ping mysql or mysqli as applicable.
    		 * @return	bool		Returns mysql[i] ping function response. (True on ping success, else false).
    		 */
    

    File: /lib/updater/admin.php

    /*
    Set up admin interface elements.
    Written by Chris Jean for iThemes.com
    Version 1.2.1
    
    Version History
    	1.0.0 - 2013-09-19 - Chris Jean
    		Split off from the old Ithemes_Updater_Init class.
    	1.1.0 - 2013-10-02 - Chris Jean
    		Added support for themes through the filter_plugins_api function (since themes don't have a "View version *** details" feature.
    	1.2.0 - 2013-10-23 - Chris Jean
    		Changed how the licensing page is registered for multisite. It now will only load on multisite sites if the user is a super user (network admin).
    		Removed the code that handled the setting to show or hide the licensing page on multisite sites.
    	1.2.1 - 2013-10-25 - Chris Jean
    		Added "License" links to Network Admin Plugins and Themes pages.
    */
    

    Class: Ithemes_Updater_Admin


    File: /lib/updater/api.php

    /*
    Provides an easy to use interface for communicating with the iThemes updater server.
    Written by Chris Jean for iThemes.com
    Version 1.1.0
    
    Version History
    	1.0.0 - 2013-04-11 - Chris Jean
    		Release ready
    	1.0.1 - 2013-09-19 - Chris Jean
    		Updated requires to not use dirname().
    		Updated ithemes-updater-object to ithemes-updater-settings.
    	1.1.0 - 2013-10-02 - Chris Jean
    		Added get_package_changelog().
    */
    

    Class: Ithemes_Updater_API


    File: /lib/updater/information.php

    /*
    Provides details formatted for use in "View version *** details" boxes.
    Written by Chris Jean for iThemes.com
    Version 1.1.1
    
    Version History
    	1.0.0 - 2013-04-11 - Chris Jean
    		Release ready
    	1.0.1 - 2013-09-19 - Chris Jean
    		Updated requires to not use dirname().
    	1.1.0 - 2013-10-02 - Chris Jean
    		Added get_theme_information().
    	1.1.1 - 2013-12-18 - Chris Jean
    		Removed unneeded code that checked package-info.ithemes.com.
    */
    

    Class: Ithemes_Updater_Information


    File: /lib/updater/init.php

    /*
    Load the updater and licensing system without loading unneeded parts.
    Written by Chris Jean for iThemes.com
    Version 1.2.0
    
    Version History
    	1.0.0 - 2013-04-11 - Chris Jean
    		Release ready
    	1.0.1 - 2013-05-01 - Chris Jean
    		Fixed a bug where some plugins caused the filter_update_plugins and filter_update_themes to run when load hadn't run, causing errors.
    	1.1.0 - 2013-09-19 - Chris Jean
    		Complete restructuring of this file as most of the code has been relocated to other files.
    	1.2.0 - 2013-12-13 - Chris Jean
    		Added the ability to force clear the server timeout hold by adding a query variable named ithemes-updater-force-clear-server-timeout-hold to the URL.
    */
    

    File: /lib/updater/keys.php

    /*
    Provides license key management.
    Written by Chris Jean for iThemes.com
    Version 1.0.1
    
    Version History
    	1.0.0 - 2013-04-11 - Chris Jean
    		Release ready
    	1.0.1 - 2013-09-19 - Chris Jean
    		Updated requires to no longer use dirname().
    */
    

    Class: Ithemes_Updater_Keys


    File: /lib/updater/load.php

    /*
    Written by Chris Jean for iThemes.com
    */
    

    File: /lib/updater/packages.php

    /*
    Provides a reliable way of retrieving which projects have updates.
    Written by Chris Jean for iThemes.com
    Version 1.0.1
    
    Version History
    	1.0.0 - 2013-04-11 - Chris Jean
    		Release ready
    	1.0.1 - 2013-09-19 - Chris Jean
    		Added support for 'upgrade' data for a package.
    		Updated requires to no longer use dirname().
    */
    

    Class: Ithemes_Updater_Packages


    File: /lib/updater/server.php

    /*
    Provides an easy to use interface for communicating with the iThemes updater server.
    Written by Chris Jean for iThemes.com
    Version 1.0.4
    
    Version History
    	1.0.0 - 2013-04-11 - Chris Jean
    		Release ready
    	1.0.1 - 2013-06-21 - Chris Jean
    		Updated the http_build_query call to force a separator of & in order to avoid issues with servers that change the arg_separator.output php.ini value.
    	1.0.2 - 2013-09-19 - Chris Jean
    		Updated ithemes-updater-object to ithemes-updater-settings.
    	1.0.3 - 2013-12-18 - Chris Jean
    		Updated the way that the site URL is generated to ensure consistency across multisite sites.
    	1.0.4 - 2014-01-31 - Chris Jean
    		Updated to normalize the site URL used for password hash generation and for sending to the server.
    */
    

    Class: Ithemes_Updater_Server


    File: /lib/updater/settings-page.php

    /*
    Code to render and manage the settings page for the updater system.
    Written by Chris Jean for iThemes.com
    Version 1.1.0
    
    Version History
    	1.0.0 - 2013-04-11 - Chris Jean
    		Release ready
    	1.0.1 - 2013-09-19 - Chris Jean
    		Updated requires to not use dirname().
    		Updated ithemes-updater-object to ithemes-updater-settings.
    	1.1.0 - 2013-10-23 - Chris Jean
    		Enhancement: Added the quick_releases setting.
    		Misc: Removed the show_on_sites setting as it is no longer used.
    */
    

    Class: Ithemes_Updater_Settings_Page


    File: /lib/updater/settings.php

    /*
    Central management of options storage and registered packages.
    Written by Chris Jean for iThemes.com
    Version 1.2.0
    
    Version History
    	1.0.0 - 2013-09-19 - Chris Jean
    		Split off from the old Ithemes_Updater_Init class.
    	1.0.1 - 2013-09-20 - Chris Jean
    		Fixed bug where the old ithemes-updater-object global was being referenced.
    	1.1.0 - 2013-10-04 - Chris Jean
    		Enhancement: Added handler for GET query variable: ithemes-updater-force-minor-update.
    		Bug Fix: Changed URL regex for applying the CA patch to only apply to links for api.ithemes.com and not the S3 links.
    		Bug Fix: A check to ensure that the $GLOBALS['ithemes_updater_path'] variable is set properly.
    		Misc: Updated file reference for ca/cacert.crt to ca/roots.crt.
    	1.2.0 - 2013-10-23 - Chris Jean.
    		Enhancement: Added the quick_releases setting.
    		Enhancement: Added an explicit flush when the ithemes-updater-force-minor-update query variable is used
    		Misc: Removed the show_on_sites setting as it is no longer needed.
    */
    

    Class: Ithemes_Updater_Settings


    File: /lib/updater/updates.php

    /*
    Provides a simple interface for connecting iThemes' packages with the updater API.
    Written by Chris Jean for iThemes.com
    Version 1.3.0
    
    Version History
    	1.0.0 - 2013-04-11 - Chris Jean
    		Release ready
    	1.0.1 - 2013-09-19 - Chris Jean
    		Changed the logic in process_server_response to skip updatable packages that have the 'upgrade' data set to a true value.
    		Updated requires to not use dirname().
    		Updated ithemes-updater-object to ithemes-updater-settings.
    	1.1.0 - 2013-10-02 - Chris Jean
    		Updated 'url' data for themes to point to the plugin-install.php file in order to show changelog notes as plugins have.
    	1.2.0 - 2013-10-04 - Chris Jean
    		Added logic to handle skipped updates when force_minor_version_update is set.
    	1.2.1 - 2013-10-04 - Chris Jean
    		Added a fix to prevent the code from executing if it is loaded by an older updater version. This can happen when updating a theme or plugin.
    	1.3.0 - 2013-10-23 - Chris Jean
    		Enhancement: Added support for quick_releases setting to force an update to a quick release.
    */
    

    Class: Ithemes_Updater_Updates


    File: /lib/textreplacebuddy/textreplacebuddy.php

    /*	pb_backupbuddy_textreplacebuddy class
     *	
     *	@author Dustin Bolton < http://dustinbolton.com >
     *	@since 3.0.0
     *
     *	Text replacements using command line if available. There is no good way to do text replacements
     *	on a large scale in PHP efficiently.
     *
     *	Resulting file stored at $file . '.tmp'. Original file is NOT replaced.
     *
     */
    

    Class: pb_backupbuddy_textreplacebuddy

    	/********** Properties **********/
    
    	/********** Methods **********/
    
    	/*	__construct()
    	 *	
    	 *	Default constructor.
    	 *	
    	 *	@param		array		$force_methods			Optional parameter to override automatic method detection. Skips test and runs first method first.  Falls back to other methods if any failure.
    	 *	@return		
    	 */
    
    	/*	available_dump_methods()
    	 *	
    	 *	function description
    	 *	
    	 *	@param		
    	 *	@return		string				Possible returns:  mysqldump, php
    	 */
    
    			/********** Begin preparing command **********/
    
    			/********** End preparing command **********/
    
    	/*	replace()
    	 *	
    	 *	Replace all instances of a string within a file. Automatically falls back.
    	 *	Resulting file stored in $file . 'tmp'. Original file is NOT replaced.
    	 *
    	 *	@param		string		$file				Full file path to file to search. A .tmp version is made with the final results. Original file is NOT replaced.
    	 *	@param		string		$search				String to search for.
    	 *	@param		string		$replacement		String to replace with.
    	 *	@param		string		$regex_condition	Condition when replacements may happen. Optional.
    	 *	@param		string		$regex_replace		If fallen back into PHP mode then this is needed IF $regex_condition is passed. Optional.
    	 *	@return
    	 */
    
    	/*	_stringreplace_commandline()
    	 *	
    	 *	Performs actual command line string replacement. VIA sed (command line replace).
    	 *	Case sensitive.
    	 *	Resulting file stored in $file . 'tmp'. Original file is NOT replaced.
    	 *	
    	 *	@param		string		$file				Full file path to file to replace in. a .tmp version is temporarily made.
    	 *	@param		string		$search				String to search for.
    	 *	@param		string		$replacement		String to replace with.
    	 *	@param		string		$regex_condition	Condition when replacements may happen. Optional.
    	 *	@param		string		$regex_replace		NOT used in commandline mode.
    	 *	@param		boolean		$global				Whether or not to globally replace in regex. Default: false (only replace first instance per line).
    	 *	@return		boolean							True on success; else false.
    	 */
    
    		/********** Begin preparing command **********/
    
    		/********** End preparing command **********/
    
    				/*
    				if ( true === rename( $file . '.tmp', $file ) ) {
    					pb_backupbuddy::status( 'message', 'textreplacebuddy: Temporary moved back to original file. Success.' );
    					return true;
    				} else {
    					pb_backupbuddy::status( 'error', 'textreplacebuddy: Temporary could not be moved back to original file. Failure. Verify permissions.' );
    					return false;
    				}
    				*/
    
    	/*	_stringreplace_php()
    	 *	
    	 *	Performs actual command line string replacement. VIA PHP.
    	 *	Case sensitive.
    	 *	Resulting file stored in $file . 'tmp'.
    	 *	
    	 *	@param		string		$file				Full file path to file to replace in. a .tmp version is temporarily made.
    	 *	@param		string		$search				String to search for.
    	 *	@param		string		$replacement		String to replace with.
    	 *	@param		string		$regex_condition	Condition when replacements may happen. Optional.
    	 *	@param		string		$regex_replace		If fallen back into PHP mode then this is needed IF $regex_condition is passed. Optional.
    	 *	@return		boolean							True on success; else false.
    	 */
    
    		/*
    		$result = rename( $temp, $file );
    		if ( $result === false ) {
    			pb_backupbuddy::status( 'error', 'textreplacebuddy: Unable to move temporary file back to original file. Failure.' );
    		} else {
    			pb_backupbuddy::status( 'details', 'textreplacebuddy: Moved temporary file back to original file. Success.' );
    		}
    		*/
    
    	/*	get_methods()
    	 *	
    	 *	Get an array of methods. Note: If force overriding methods then detected methods will not be able to display.
    	 *	
    	 *	@return		array				Array of methods.
    	 */
    
    	/*	set_methods()
    	 *	
    	 *	Set methods. Overrides detected.
    	 *	
    	 *	@param		array		$methods		Array of methods to set.
    	 *	@return		null
    	 */
    

    File: /lib/zipbuddy/legacy.zipbuddy.php

    /**
     *	pluginbuddy_zipbuddy Class
     *
     *	Handles zipping and unzipping, using the best methods available and falling back to worse methods
     *	as needed for compatibility. Allows for forcing compatibility modes.
     *	
     *	Version: 3.0.0
     *	Author: Dustin Bolton
     *	Author URI: http://dustinbolton.com/
     *
     *	$temp_dir		string		Temporary directory absolute path for temporary file storage. Must be writable!
     *	$zip_methods	array		Optional. Array of available zip methods to use. Useful for not having to re-test every time.
     *								If omitted then a test will be performed to find the methods that work on this host.
     *	$mode			string		Future use to allow for other compression methods other than zip. Currently not in use.
     *
     */
    

    Class: pluginbuddy_zipbuddy

    		/********** Properties **********/
    
    		/********** Methods **********/
    
    		/*	set_comment()
    		 *	
    		 *	Retrieve archive comment.
    		 *	
    		 *	@param		string			$zip_file		Filename of archive to set comment on.
    		 *	@param		string			$comment		Comment to apply to archive.
    		 *	@return		boolean/string					true on success, error message otherwise.
    		 */
    
    		/*	get_comment()
    		 *	
    		 *	Retrieve archive comment.
    		 *	
    		 *	@param		string		$zip_file		Filename of archive to retrieve comment from.
    		 *	@return		string						Zip comment.
    		 */
    
    		/*	get_zip_methods()
    		 *	
    		 *	Get an array of the zip methods. Useful for transient caching for constructor.
    		 *	
    		 *	@return		array		Array of methods.
    		 */
    
    		/**
    		 *	add_directory_to_zip()
    		 *
    		 *	Adds a directory to a new or existing (TODO: not yet available) ZIP file.
    		 *
    		 *	$zip_file					string						Full path & filename of ZIP file to create.
    		 *	$add_directory				string						Full directory to add to zip file.
    		 *	$compression				boolean						True to enable ZIP compression,
    		 *															(if possible with available zip methods)
    		 *	$excludes					array(strings)				Array of strings of paths/files to exclude from zipping,
    		 *															(if possible with available zip methods).
    		 *	$temporary_zip_directory	string						Optional. Full directory path to directory to temporarily place ZIP
    		 *															file while creating. Uses same directory if omitted.
    		 *	$force_compatibility_mode	boolean						True: only use PCLZip. False: try exec first if available,
    		 *															and fallback to lesser methods as required.
    		 *
    		 *	@return													true on success, false otherwise
    		 *
    		 */
    
    		/**
    		 *	unzip()
    		 *
    		 *	Extracts the contents of a zip file to the specified directory using the best unzip methods possible.
    		 *
    		 *	$zip_file					string		Full path & filename of ZIP file to create.
    		 *	$destination_directory		string		Full directory path to extract into.
    		 *	$force_compatibility_mode	mixed		false (default): use best methods available (zip exec first), falling back as needed.
    		 *											ziparchive: first fallback method. (Medium performance)
    		 *											pclzip: second fallback method. (Worst performance; buggy)
    		 *
    		 *	@return``								true on success, false otherwise
    		 */
    
    		/*	get_file_list()
    		 *	
    		 *	Get an array of all files in a zip file.
    		 *	
    		 *	@param		
    		 *	@return		array	
    		 */
    
    		/*	available_zip_methods()
    		 *	
    		 *	Test availability of zip methods to determine which exist and actually work.
    		 *	Detects the available zipping methods on this server. Tests command line zip via exec(), PHP's ZipArchive, or emulated zip via the PHP PCLZip library.
    		 *	TODO: Actually test unzipping in unzip mode not just zipping and assuming the other will work
    		 *	
    		 *	@param		boolean		$return_best	
    		 *	@param		string		$mode			Possible values: zip, unzip
    		 *	@return		array						Possible return values: exec, ziparchive, pclzip
    		 */
    
    		/*	_render_exclusions_file()
    		 *	
    		 *	function description
    		 *	
    		 *	@param		string		$file			File to write exclusions into.
    		 *	@param		array		$exclusions		Array of directories/paths to exclude. One per line.
    		 *	@return		null
    		 */
    

    File: /lib/zipbuddy/zbdir.php

    /**
     *	pluginbuddy_zbdir Class
     *
     *  Provides a directory class for zipbuddy for building a directory tree for backup
     *	
     *	Version: 1.0.0
     *	Author:
     *	Author URI:
     *
     *	@param		$parent		object		Optional parent object which can provide functions for reporting, etc.
     *	@return		null
     *
     */
    

    Class: pluginbuddy_zbdir

            /**
             * The path of this directory node
             * 
             * @var path string
             */
    
            /**
             * The absolute paths to be excluded, must be / terminated
             * 
             * @var paths_to_exclude array of string
             */
    
            /**
             * The directory listing items to be ignored
             * 
             * @var items_to_ignore array of string
             */
    
            /**
             * The items that are terminals and we can add directly for this directory (absolute paths)
             * 
             * @var terminals array of string
             */
    
            /**
             * The branch nodes of subordinate directories that are on an exclusion path
             * 
             * @var branches array of string => pluginbuddy_zbdir
             */
    
            /**
             * Whether or not we can call a status calback
             * 
             * @var have_status_callback bool
             */
    
            /**
             * Object->method array for status function
             * 
             * @var status_callback array
             */
    
    		/**
    		 *	__construct()
    		 *	
    		 *	Default constructor.
    		 *	
    		 *	@param		string		$path			The path to form a node for
    		 *	@param		array		$excludes		The list of dirs/files to exclude (absolute paths with / terminator for dirs)
    		 *	@return		null
    		 *
    		 */
    
    		/**
    		 *	__destruct()
    		 *	
    		 *	Default destructor.
    		 *	
    		 *	@return		null
    		 *
    		 */
    
    		/**
    		 *	set_status_callback()
    		 *
    		 *	Sets a reference to the function to call for each status update.
    		 *  Argument must at least be a non-empty array with 2 elements
    		 *
    		 *	@param		array 	$callback	Object->method to call for status updates.
    		 *	@return		null
    		 *
    		 */
    
    		/**
    		 *	status()
    		 *	
    		 *	Invoke status method of parent if it exists
    		 *  Must be at least one parameter otherwise ignore the call
    		 *	
    		 *	@param		string		$type		(Expected) Status message type.
    		 *	@param		string		$message	(Expected) Status message.
    		 *	@return		null
    		 *
    		 */
    
    		/**
    		 *	get_terminals()
    		 *	
    		 *	Returns the array of terminals from this dir plus subordinates
    		 *	
    		 *	@return		array	Flat array of terminal filenames and directory names
    		 *
    		 */
    
    		/**
    		 *	get_relative_excludes()
    		 *	
    		 *	Returns the array of exclusions with optional directory prefix removed
    		 *	
    		 *	@param		string	The base directory prefix to be removed
    		 *	@return		array	Flat array of relative (to site root) excluded filenames and directory names
    		 *
    		 */
    
    		/**
    		 *	in_array_prefix()
    		 *	
    		 *	Check if the given string is a prefix of any string in the given array
    		 *	
    		 *  @param		string	$prefix		The prefix string
    		 *  @param		array	$candidates	The array of strings
    		 *	@return		bool	true if the string is a prefix, false otherwise
    		 *
    		 */
    

    File: /lib/zipbuddy/zbzip.php


    File: /lib/zipbuddy/zbzipcore.php

    /**
     *	pluginbuddy_zbzipcore Class
     *
     *  Provides an abstract zip capability core class
     *	
     *	Version: 1.0.0
     *	Author:
     *	Author URI:
     *
     *	@param		$parent		object		Optional parent object which can provide functions for reporting, etc.
     *	@return		null
     *
     */
    
    	/**
    	 *	pluginbuddy_stat Class
    	 *
    	 *	Convenience for being able to augment the stat() function either in the event
    	 *	of failure or for cases where the actual file size reported is too large for the
    	 *	(signed) integer type in which case we create an additional associative field in
    	 *	the array which is a double and contains the file size.
    	 *	For now it's just some static methods but might extend to be a true class.
    	 *
    	 *	@param	string		$filename	The name of the file to stat
    	 *	@return	array|bool				False on failure otherwise array
    	 *
    	 */
    

    Class: pluginbuddy_stat

    Class: pluginbuddy_zbzipcore

            /**
             * The plugin path for this plugin
             * 
             * @var $_pluginPath string
             */
    
            /**
             * The path of this directory node
             * 
             * @var path string
             */
    
            /**
             * The absolute paths to be excluded, must be / terminated
             * 
             * @var paths_to_exclude array of string
             */
    
            /**
             * The details of the method
             * 
             * @var method_details array
             */
    
            /**
             * The set of paths where to look for executables
             * 
             * @var  executable_paths	array
             */
    
            /**
             * Whether or not we can call a status calback
             * 
             * @var have_status_callback bool
             */
    
            /**
             * Object->method array for status function
             * 
             * @var status_callback array
             */
    
            /**
             * Array of status information
             * 
             * @var status array
             */
    
            /**
             * Enumerated OS type
             * 
             * @var os_type	int
             */
    
            /**
             * Convenience boolean indicating if PHP has exec_dir set or not
             * 
             * @var exec_dir_set	bool
             */
    
            /**
             * Convenience boolean indicating if Warnings should be ignored when building archives
             * 
             * @var ignore_warnings	bool
             */
    
            /**
             * Convenience boolean indicating if symlinks should be ignored/not-followed when building archives
             * 
             * @var ignore_symlinks	bool
             */
    
             /**
             * Convenience boolean indicating if compression shoul dbe used when building archives
             * 
             * @var compression	bool
             */
    
           /**
             * Used to translate our warnings reasons into a longer description
             * 
             * @var array
             */
    
            /**
             * The Server API that is in use
             * 
             * @var string
             */
    
    		/**
    		 *	__construct()
    		 *	
    		 *	Default constructor.
    		 *	
    		 *	@return		null
    		 *
    		 */
    
    		/**
    		 *	__destruct()
    		 *	
    		 *	Default destructor.
    		 *	
    		 *	@return		null
    		 *
    		 */
    
    		/**
    		 *	set_os_type()
    		 *
    		 *	Sets the identifier for the OS type that we are running on that can then be used for
    		 *	OS specific processing. If no enumerated type value is passed in then deduce the
    		 *	value to set from system information.
    		 *	Note: Currently uses PHP_OS which strictly speaking is the OS that PHP was built on
    		 *	whereas php_uname() could be used to determine the actual OS being run on if we really
    		 *	need that (and sometimes it has to revert back to just returning the PHP_OS value if
    		 *	the OS uname library doesn't exist or isn't working properly.
    		 *
    		 *	@param		$os_type	int		OS type to set (can be used to override deduced type)
    		 *
    		 */
    
    		/**
    		 *	get_os_type()
    		 *
    		 *	Gets the enumerated identifier for the OS type that we are running on
    		 *
    		 *	@return		int		Enumerated OS type value
    		 *
    		 */
    
    		/**
    		 *	set_exec_dir_flag()
    		 *
    		 *	Checks whether exec_dir is set in PHP environment and sets internal flag
    		 *
    		 *	@return		bool		True is exec_dir is set and not-empty
    		 *
    		 */
    
    		/**
    		 *	get_exec_dir_flag()
    		 *
    		 *	Gets the flag indicating the status of exec_dir setting
    		 *
    		 *	@return		bool		Value of $_exec_dir_set
    		 *
    		 */
    
    		/**
    		 *	set_ignore_warnings()
    		 *
    		 *	Checks conditions to see if warnings should be ignored when archives are
    		 *	being built.
    		 *
    		 *	@param		bool	$ignore	False (default) to let conditions decide, True to force ignore
    		 *	@return		bool			True if conditions indicate warnings should be ignored
    		 *
    		 */
    
    		/**
    		 *	get_ignore_warnings()
    		 *
    		 *	Gets the flag indicating whether warnings should be ignored when building archives
    		 *
    		 *	@return		bool		Value of $_ignore_warnings
    		 *
    		 */
    
    		/**
    		 *	set_ignore_synlinks()
    		 *
    		 *	Checks conditions to see if symlinks should be ignored/not-followed when archives are
    		 *	being built.
    		 *
    		 *	@param		bool	$ignore	False (default) to let conditions decide, True to force ignore
    		 *	@return		bool			True if conditions indicate symlinks should be ignored/not-followed
    		 *
    		 */
    
    		/**
    		 *	get_ignore_symlinks()
    		 *	
    		 *	This returns true if the option to ignore symlinks is set. In this context ignoring
    		 *	means not following but the symlink itself is recorded in the backup
    		 *	
    		 *	@return		bool				Value of $_ignore_symlinks
    		 *
    		 */
    
    		/**
    		 *	set_compression()
    		 *
    		 *	Checks conditions to see if compression should be used when building archive
    		 *
    		 *	@param		bool	$compression	False (default) to let conditions decide, True to force compression
    		 *	@return		bool					True if conditions indicate compression should be used
    		 *
    		 */
    
    		/**
    		 *	get_compression()
    		 *	
    		 *	This returns true if the option to use compression is set.
    		 *	
    		 *	@return		bool				Value of $_compression
    		 *
    		 */
    
    		/**
    		 *	set_sapi_name()
    		 *
    		 *	Sets the sapi name to that given or leave empty
    		 *
    		 *	@param	string	$name	A sapi name to set (default empty)
    		 *	@return	object			This object
    		 */
    
    		/**
    		 *	get_sapi_name()
    		 *
    		 *	Returns the previously set sapi name
    		 *
    		 *	@return	string			The stored sapi name
    		 */
    
    		/**
    		 *	set_status_callback()
    		 *
    		 *	Sets a reference to the function to call for each status update.
    		 *  Argument must at least be a non-empty array with 2 elements
    		 *
    		 *	@param		array 	$callback	Object->method to call for status updates.
    		 *	@return		null
    		 *
    		 */
    
    		/**
    		 *	get_status()
    		 *	
    		 *	Returns the status array
    		 *	
    		 *	@return		array	The status array
    		 *
    		 */
    
    		/**
    		 *	log_archive_file_stats()
    		 *	
    		 *	Produced a status log entry for the archive file stats
    		 *	
    		 *	@param	string	$file	The file to stat and and log
    		 *	@return		
    		 *
    		 */
    
    		/**
    		 *	get_method_tag()
    		 *	
    		 *	Returns the (static) method tag
    		 *	
    		 *	@return		string The method tag
    		 *
    		 */
    
    		/**
    		 *	get_is_compatibility_method()
    		 *	
    		 *	Returns the (static) is_compatibility_method boolean
    		 *	
    		 *	@return		bool
    		 *
    		 */
    
    		/**
    		 *	get_method_details()
    		 *	
    		 *	Returns the details array
    		 *	
    		 *	@return		array
    		 *
    		 */
    
    		/**
    		 *	set_method_details()
    		 *	
    		 *	Sets the internal (settable) details
    		 *	
    		 *	@param		array
    		 *	@return		null
    		 *
    		 */
    
    		/**
    		 *	get_executable_paths()
    		 *	
    		 *	Returns the executable_paths array
    		 *	
    		 *	@return		array
    		 *
    		 */
    
    		/**
    		 *	set_executable_paths()
    		 *	
    		 *	Sets the executable_paths array so can be used to augment or override the default
    		 *	
    		 *	@param		$paths	array	Paths to set or merge
    		 *	@param		$merge	bool	True (default) if merging paths with current paths
    		 *	@param		$before	bool	True (default) if paths to be prepended
    		 *	@return		null
    		 *
    		 */
    
    		/**
    		 *	delete_directory_recursive()
    		 *	
    		 *	Recursively delete a directory and it's content
    		 *	
    		 *	@param		string	$directory	Directory to delete
    		 *	@return		bool				True if operation fully successful, otherwise false
    		 *
    		 */
    
    		/*	_render_exclusions_file()
    		 *	
    		 *	function description
    		 *	
    		 *	@param		string		$file			File to write exclusions into.
    		 *	@param		array		$exclusions		Array of directories/paths to exclude. One per line.
    		 *	@return		null
    		 */
    
    		/**
    		 *	slashify()
    		 *
    		 *	A function to add a slash to the end of a path. It is much like the WordPress trailingslashit()
    		 *	but allows for not adding a slash to an empty path. Will add a normalized slash unless overridden
    		 *	Note: Will not process any embedded directory separators
    		 *
    		 *	@param	string	$path					The path to add a trailing slash to
    		 *	@param	bool	$ignore_empty			True (default) if should _not_ add a trailing slash to an empty path
    		 *	@param	bool	$use_normalized_slash	True (default) to add a normalized slash, otherwise add platform separator
    		 *	@return	string							The path with trailing slash optionally added
    		 *
    		 */
    
    		/**
    		 *	unslashify()
    		 *
    		 *	A function to remove a slash to the end of a path. It is much like the WordPress untrailingslashit()
    		 *	but copes with either form of trailing slash.
    		 *	Note: Will not process any embedded directory separators and may produce an empty path.
    		 *
    		 *	@param	string	$path					The path to remove a trailing slash from
    		 *	@param	bool	$ignore_empty			True (default) if should proceed even if will produce an empty path
    		 *	@return	string							The path with trailing slash removed
    		 *
    		 */
    
    		/**
    		 *	log_zip_reports()
    		 *
    		 *	A function to process reports parsed from the zip process output and log them and optionally
    		 *	send to a file if there are a lot of reports. If the number of reports is such that they require
    		 *	to be written to a file then all the reports will be written to the file, not just the overflow.
    .		 *
    		 *	@param	array	$reports_log			array containing the type of reports to log
    		 *	@param	array	$reports_desc			array containing text description of report reason
    		 *	@param	string	$report_prefix			a prefix string to go before the report text
    		 *	@param	integer	$report_lines_to_show	the number of reports to show in log before overflowing to a file
    		 *	@param	string	$report_file			overflow file if too many reports to show directly in log
    		 *	@return	N/A								Currently no return parameter
    		 *
    		 */
    
    		/**
    		 *	is_available()
    		 *	
    		 *	A function that tests for the availability of the specific method and its available modes. Will test for
    		 *  multiple modes (zip & unzip) and only return false if neither is available. Actual available modes will
    		 *  be indicated in the method attributes.
    		 *	
    		 *	@param		string	$tempdir	Temporary directory to use for any test files (must be writeable)
    		 *	@return		bool				True if the method is available for at least one mode, false otherwise
    		 *
    		 */
    
    		/**
    		 *	create()
    		 *	
    		 *	A function that creates an archive file
    		 *	
    		 *	The $excludes will be a list or relative path excludes if the $listmaker object is NULL otherwise
    		 *	will be absolute path excludes and relative path excludes can be had from the $listmaker object
    		 *	
    		 *	@param		string	$zip			Full path & filename of ZIP Archive file to create
    		 *	@param		string	$dir			Full path of directory to add to ZIP Archive file
    		 *	@parame		array	$excludes		List of either absolute path exclusions or relative exclusions
    		 *	@param		string	$tempdir		Full path of directory for temporary usage
    		 *	@param		object	$listmaker		The object from which we can get an inclusions list
    		 *	@return		bool					True if the creation was successful, false otherwise
    		 *
    		 */
    
    		/**
    		 *	extract()
    		 *
    		 *	Extracts the contents of a zip file to the specified directory using the best unzip methods possible.
    		 *
    		 *	@param	string		$zip_file					Full path & filename of ZIP file to extract from.
    		 *	@param	string		$destination_directory		Full directory path to extract into.
    		 *	@param	array		$items						Mapping of what to extract and to what
    		 *	@return	bool									true on success (all extractions successful), false otherwise
    		 */
    
    		/**
    		 *	file_exists()
    		 *	
    		 *	Tests whether a file (with path) exists in the given zip file
    		 *	If leave_open is true then the zip object will be left open for faster checking for subsequent files within this zip
    		 *	
    		 *	@param		string	$zip_file		The zip file to check
    		 *	@param		string	$locate_file	The file to test for
    		 *	@param		bool	$leave_open		Optional: True if the zip file should be left open
    		 *	@return		bool					True if the file is found in the zip otherwise false
    		 *
    		 */
    
    		/*	get_file_list()
    		 *	
    		 *	Get an array of all files in a zip file with some file properties.
    		 *	
    		 *	@param		string		$zip_file	The file to list the content of
    		 *	@return		bool|array				false on failure, otherwise array of file properties (may be empty)
    		 */
    
    		/*	set_comment()
    		 *	
    		 *	Retrieve archive comment.
    		 *	
    		 *	@param		string			$zip_file		Filename of archive to set comment on.
    		 *	@param		string			$comment		Comment to apply to archive.
    		 *	@return		bool							true on success, otherwise false.
    		 */
    
    		/*	get_comment()
    		 *	
    		 *	Retrieve archive comment.
    		 *	
    		 *	@param		string		$zip_file		Filename of archive to retrieve comment from.
    		 *	@return		bool|string					false on failure, Zip comment otherwise.
    		 */
    

    File: /lib/zipbuddy/zbzipexec.php

    /**
     *	pluginbuddy_zbzipexec Class
     *
     *  Extends the zip capability core class with proc specific capability
     *	
     *	Version: 1.0.0
     *	Author:
     *	Author URI:
     *
     *	@param		$parent		object		Optional parent object which can provide functions for reporting, etc.
     *	@return		null
     *
     */
    

    Class: pluginbuddy_zbzipexec extends pluginbuddy_zbzipcore

            /**
             * method tag used to refer to the method and entities associated with it such as class name
             * 
             * @var $_method_tag 	string
             */
    
            /**
             * This tells us whether this method is regarded as a "compatibility" method
             * 
             * @var bool
             */
    
            /**
             * This tells us the dependencies of this method so they can be check to see if the method can be supported
             * 
             * @var array
             */
    
            /**
             * Boolean to indicate if we can support comment handling based on dependency check
             * 
             * @var $_allow_is_commenter bool
             */
    
    		/**
    		 * 
    		 * get_method_tag_static()
    		 *
    		 * Get the static method tag in a static context
    		 *
    		 * @return		string	The method tag
    		 *
    		 */
    
    		/**
    		 * 
    		 * get_is_compatibility_method_static()
    		 *
    		 * Get the compatibility method indicator in a static context
    		 *
    		 * @return		bool	True if is a compatibility method
    		 *
    		 */
    
    		/**
    		 * 
    		 * get_method_dependencies_static()
    		 *
    		 * Get the method dependencies array in a static context
    		 *
    		 * @return		array	The dependencies of the method that is requires to be a supported method
    		 *
    		 */
    
    		/**
    		 * 
    		 * check_method_dependencies_static()
    		 *
    		 * Allows additional method dependency checks beyond the standard in a static context
    		 *
    		 * @return		bool	True if additional dependency checks passed
    		 *
    		 */
    
    		/**
    		 *	__construct()
    		 *	
    		 *	Default constructor.
    		 *	
    		 *	@param		reference	&$parent		[optional] Reference to the object containing the status() function for status updates.
    		 *	@return		null
    		 *
    		 */
    
    		/**
    		 *	__destruct()
    		 *	
    		 *	Default destructor.
    		 *	
    		 *	@return		null
    		 *
    		 */
    
    		/**
    		 *	get_method_tag()
    		 *	
    		 *	Returns the (static) method tag
    		 *	
    		 *	@return		string The method tag
    		 *
    		 */
    
    		/**
    		 *	get_is_compatibility_method()
    		 *	
    		 *	Returns the (static) is_compatibility_method boolean
    		 *	
    		 *	@return		bool
    		 *
    		 */
    
    		/**
    		 *	get_command_path()
    		 *	
    		 *	This returns the path for the requested command from the method details
    		 *	If not found then will return empty string which is the same as if the
    		 *	command is being accessed through PATH
    		 *	
    		 *	@return		string				Path for command, trimmed - may be empty
    		 *
    		 */
    
    		/**
    		 *	set_zip_version()
    		 *	
    		 *	This sets the zip version information in the method details
    		 *	Use "zip -h" to get a standardized help output that contains the zip version.
    		 *	Theoretically we should be able to use "zip -v" to get zip version and build
    		 *	details but pre-v3 zip running "zip -v" will not produce the required output because
    		 *	there is no tty attached (when running through exec() or equivalent), instead
    		 *	it will (or should) produce a zip file. However, it has been found that even this
    		 *	is not reliable and some installations just seem to freeze when "zip -v" is run
    		 *	which borks the whole process.
    		 *	So we use "zip -h" first to get the basic zip version information and as a future
    		 *	extension if it is version 3.0+ (3.0 is current and 3.1 hasn't been officially
    		 *	released) we may then run "zip -v" to get the extended version and build information.
    		 *	
    		 *	@param		int		$major		Value to use if none found or override true
    		 *	@param		int		$minor		Value to use if none found or override true
    		 *	@param		bool	$override	True to use passed in value(s) regardless
    		 *	@return		object				This object reference
    		 *
    		 */
    
    		/**
    		 *	get_zip_version()
    		 *	
    		 *	This gets the zip version as an array of major/minor or returns false if not known
    		 *	TODO: Pass parameter to specify what format to return in
    		 *	
    		 *	@return		array|bool				Returns array(major, minor) or false if not known
    		 *
    		 */
    
    		/**
    		 *	set_unzip_version()
    		 *	
    		 *	This sets the unzip version information in the method details
    		 *	
    		 *	@param		int		$major		Value to use if none found or override true
    		 *	@param		int		$minor		Value to use if none found or override true
    		 *	@param		bool	$override	True to use passed in value(s) regardless
    		 *	@return		object				This object reference
    		 *
    		 */
    
    		/**
    		 *	get_unzip_version()
    		 *	
    		 *	This gets the unzip version as an array of major/minor or returns false if not known
    		 *	TODO: Pass parameter to specify what format to return in
    		 *	
    		 *	@return		array|bool				Returns array(major, minor) or false if not known
    		 *
    		 */
    
    		/**
    		 *	get_zip_supports_logfile()
    		 *	
    		 *	This returns true if the zip in use is able to support logfile usage for
    		 *	logging progress of zip operation
    		 *	
    		 *	@return		bool				True if logfile supported, otherwise false
    		 *
    		 */
    
    		/**
    		 *	is_available()
    		 *	
    		 *	A function that tests for the availability of the specific method and its available modes. Will test for
    		 *  multiple modes (zip & unzip) and only return false if neither is available. Actual available modes will
    		 *  be indicated in the method attributes.
    		 *
    		 *  Note: in this case as the zip and unzip capabilities are provided by external commands we need to test
    		 *  for the availability of both of them and set attributes accordingly
    		 *	
    		 *	@param		string	$tempdir	Temporary directory to use for any test files (must be writeable)
    		 *	@return		bool				True if the method is available for at least one mode, false otherwise
    		 *
    		 */
    
    		/**
    		 *	is_available_generic()
    		 *	
    		 *	A function that tests for the availability of the specific method and its available modes. Will test for
    		 *  multiple modes (zip & unzip) and only return false if neither is available. Actual available modes will
    		 *  be indicated in the method attributes.
    		 *
    		 *  Note: in this case as the zip and unzip capabilities are provided by external commands we need to test
    		 *  for the availability of both of them and set attributes accordingly
    		 *	
    		 *	@param		string	$tempdir	Temporary directory to use for any test files (must be writeable)
    		 *	@return		bool				True if the method is available for at least one mode, false otherwise
    		 *
    		 */
    
    		/**
    		 *	create()
    		 *	
    		 *	A function that creates an archive file
    		 *	Always cleans up after itself
    		 *	
    		 *	The $excludes will be a list or relative path excludes if the $listmaker object is NULL otehrwise
    		 *	will be absolute path excludes and relative path excludes can be had from the $listmaker object
    		 *	
    		 *	@param		string	$zip			Full path & filename of ZIP Archive file to create
    		 *	@param		string	$dir			Full path of directory to add to ZIP Archive file
    		 *	@parame		array	$excludes		List of either absolute path exclusions or relative exclusions
    		 *	@param		string	$tempdir		Full path of directory for temporary usage
    		 *	@param		object	$listmaker		The object from which we can get an inclusions list
    		 *	@return		bool					True if the creation was successful, false otherwise
    		 *
    		 */
    
    		/**
    		 *	create_generic()
    		 *	
    		 *	A function that creates an archive file
    		 *	
    		 *	The $excludes will be a list or relative path excludes if the $listmaker object is NULL otehrwise
    		 *	will be absolute path excludes and relative path excludes can be had from the $listmaker object
    		 *	
    		 *	@param		string	$zip			Full path & filename of ZIP Archive file to create
    		 *	@param		string	$dir			Full path of directory to add to ZIP Archive file
    		 *	@parame		array	$excludes		List of either absolute path exclusions or relative exclusions
    		 *	@param		string	$tempdir		[Optional] Full path of directory for temporary usage
    		 *	@param		object	$listmaker		The object from which we can get an inclusions list
    		 *	@return		bool					True if the creation was successful, false otherwise
    		 *
    		 */
    
    		/**
    		 *	extract()
    		 *
    		 *	Extracts the contents of a zip file to the specified directory using the best unzip methods possible.
    		 *	If no specific items given to extract then it's a complete unzip
    		 *
    		 *	@param	string		$zip_file					Full path & filename of ZIP file to extract from.
    		 *	@param	string		$destination_directory		Full directory path to extract into.
    		 *	@param	array		$items						Mapping of what to extract and to what
    		 *	@return	bool									true on success (all extractions successful), false otherwise
    		 */
    
    		/**
    		 *	extract_generic_full()
    		 *
    		 *	Extracts the contents of a zip file to the specified directory using the best unzip methods possible.
    		 *
    		 *	@param	string		$zip_file					Full path & filename of ZIP file to extract from.
    		 *	@param	string		$destination_directory		Full directory path to extract into.
    		 *	@return	bool									true on success, false otherwise
    		 */
    
    		/**
    		 *	extract_generic_selected()
    		 *
    		 *	Extracts the contents of a zip file to the specified directory using the best unzip methods possible.
    		 *
    		 *	@param	string		$zip_file					Full path & filename of ZIP file to extract from.
    		 *	@param	string		$destination_directory		Full directory path to extract into.
    		 *	@param	array		$items						Mapping of what to extract and to what
    		 *	@return	bool									true on success (all extractions successful), false otherwise
    		 */
    
    		/**
    		 *	file_exists()
    		 *	
    		 *	Tests whether a file (with path) exists in the given zip file
    		 *	If leave_open is true then the zip object will be left open for faster checking for subsequent files within this zip
    		 *  Note: this is ignored here because it has no meaning in the use of the unzip command
    		 *	
    		 *	@param		string	$zip_file		The zip file to check
    		 *	@param		string	$locate_file	The file to test for
    		 *	@param		bool	$leave_open		Optional: True if the zip file should be left open
    		 *	@return		bool/array				True if the file is found in the zip and false if not, array for other problem
    		 *
    		 */
    
    		/**
    		 *	file_exists_generic()
    		 *	
    		 *	Tests whether a file (with path) exists in the given zip file
    		 *	
    		 *	@param		string	$zip_file		The zip file to check
    		 *	@param		string	$locate_file	The file to test for
    		 *	@return		bool/array				True if the file is found in the zip and false if not, array for other problem
    		 *
    		 */
    
    		/*	get_file_list()
    		 *	
    		 *	Get an array of all files in a zip file with some file properties.
    		 *	
    		 *	@param		string		$zip_file	The file to list the content of
    		 *	@return		bool|array				false on failure, otherwise array of file properties (may be empty)
    		 */
    
    		/*	get_file_list_generic()
    		 *	
    		 *	Get an array of all files in a zip file with some file properties.
    		 *	
    		 *	@param		string		$zip_file	The file to list the content of
    		 *	@return		bool|array				false on failure, otherwise array of file properties (may be empty)
    		 */
    
    		/*	set_comment()
    		 *	
    		 *	Retrieve archive comment.
    		 *	
    		 *	@param		string			$zip_file		Filename of archive to set comment on.
    		 *	@param		string			$comment		Comment to apply to archive.
    		 *	@return		bool							true on success, otherwise false.
    		 */
    
    		/*	set_comment_windows()
    		 *	
    		 *	Retrieve archive comment.
    		 *	
    		 *	@param		string			$zip_file		Filename of archive to set comment on.
    		 *	@param		string			$comment		Comment to apply to archive.
    		 *	@return		bool							true on success, otherwise false.
    		 */
    
    		/*	set_comment_linux()
    		 *	
    		 *	Retrieve archive comment.
    		 *	
    		 *	@param		string			$zip_file		Filename of archive to set comment on.
    		 *	@param		string			$comment		Comment to apply to archive.
    		 *	@return		bool							true on success, otherwise false.
    		 */
    
    		/*	get_comment()
    		 *	
    		 *	Retrieve archive comment.
    		 *	
    		 *	@param		string		$zip_file		Filename of archive to retrieve comment from.
    		 *	@return		bool|string					false on failure, Zip comment otherwise.
    		 */
    
    		/*	get_comment_windows()
    		 *	
    		 *	Retrieve archive comment.
    		 *	
    		 *	@param		string		$zip_file		Filename of archive to retrieve comment from.
    		 *	@return		bool|string					false on failure, Zip comment otherwise.
    		 */
    
    		/*	get_comment_linux()
    		 *	
    		 *	Retrieve archive comment.
    		 *	
    		 *	@param		string		$zip_file		Filename of archive to retrieve comment from.
    		 *	@return		bool|string					false on failure, Zip comment otherwise.
    		 */
    

    File: /lib/zipbuddy/zbzippclzip.php

    /**
     *	pluginbuddy_zbzippclzip Class
     *
     *  Extends the zip capability core class with pclzip specific capability
     *	
     *	Version: 1.0.0
     *	Author:
     *	Author URI:
     *
     *	@param		$parent		object		Optional parent object which can provide functions for reporting, etc.
     *	@return		null
     *
     */
    
    	/**
    	 *	pluginbuddy_PclZip Class
    	 *
    	 *	Wrapper for PclZip to encapsulate the process of loading the PclZip library (if not
    	 *	already loaded, which it shouldn't be generally) and also surrounding method calls
    	 *	with the unpleasant workaround for the mbstring issue where things may fail because
    	 *	PclZip is using string functions to process binary data and if the string functions
    	 *	are overloaded with the multi-byte versions the processing can (probably will) fail.
    	 *
    	 *	@param	string	$zip_filename	The name of the zip file that will be managed
    	 *	@return	null
    	 *
    	 */
    

    Class: pluginbuddy_PclZip

            /**
             * The created PclZip object if it can be created
             * 
             * @var $_za 	object
             */
    
    		/**
    		 *	__construct()
    		 *	
    		 *	Default constructor.
    		 *	This is used to try and load the PclZip library and then create an instance of
    		 *	an archive with that. If the library cannot be made available then an exception
    		 *	is thrown and that is handled by the caller.
    		 *	TODO: Consider having a "suppress warnings" parameter to determine whether methods
    		 *	should be invoked with warnings suppressed or not. For is_available() usage we would
    		 *	want to so as not to potentially flood the PHP error log. For other functions that
    		 *	are not called frequently we might not want to suppress the warnings.
    		 *	
    		 *	@param		string	$zip_filename	The name of the zip file that will be managed
    		 *	@return		null
    		 *
    		 */
    
    		/**
    		 *	__destruct()
    		 *	
    		 *	Default destructor.
    		 *	
    		 *	@return		null
    		 *
    		 */
    
    		/**
    		 *	__call()
    		 *	
    		 *	Magic method intercepting calls to unknown methods. This allows us to intercept
    		 *	all method calls and add additional processing
    		 *	
    		 *	@param		string	$method		The name of the intercepted method
    		 *	@param		array	$arguments	Array of the arguments associated with the method call
    		 *	@return		mixed	$result		Whatever the invoked wrapper method call returns
    		 *
    		 */
    

    Class: pluginbuddy_zbzippclzip extends pluginbuddy_zbzipcore

            /**
             * method tag used to refer to the method and entities associated with it such as class name
             * 
             * @var $_method_tag 	string
             */
    
            /**
             * This tells us whether this method is regarded as a "compatibility" method
             * 
             * @var bool
             */
    
            /**
             * This tells us the dependencies of this method so they can be check to see if the method can be supported
             * Note: PclZip constructor checks for gzopen function and dies on failure so we may as well pre-empt that
             * 
             * @var array
             */
    
    		/**
    		 * 
    		 * get_method_tag_static()
    		 *
    		 * Get the static method tag in a static context
    		 *
    		 * @return		string	The method tag
    		 *
    		 */
    
    		/**
    		 * 
    		 * get_is_compatibility_method_static()
    		 *
    		 * Get the compatibility method indicator in a static context
    		 *
    		 * @return		bool	True if is a compatibility method
    		 *
    		 */
    
    		/**
    		 * 
    		 * get_method_dependencies_static()
    		 *
    		 * Get the method dependencies array in a static context
    		 *
    		 * @return		array	The dependencies of the method that is requires to be a supported method
    		 *
    		 */
    
    		/**
    		 * 
    		 * check_method_dependencies_static()
    		 *
    		 * Allows additional method dependency checks beyond the standard in a static context
    		 *
    		 * @return		bool	True if additional dependency checks passed
    		 *
    		 */
    
    		/**
    		 *	__construct()
    		 *	
    		 *	Default constructor.
    		 *	
    		 *	@param		reference	&$parent		[optional] Reference to the object containing the status() function for status updates.
    		 *	@return		null
    		 *
    		 */
    
    		/**
    		 *	__destruct()
    		 *	
    		 *	Default destructor.
    		 *	
    		 *	@return		null
    		 *
    		 */
    
    		/**
    		 *	get_method_tag()
    		 *	
    		 *	Returns the (static) method tag
    		 *	
    		 *	@return		string The method tag
    		 *
    		 */
    
    			/**
    		 *	get_is_compatibility_method()
    		 *	
    		 *	Returns the (static) is_compatibility_method boolean
    		 *	
    		 *	@return		bool
    		 *
    		 */
    
    		/**
    		 *	is_available()
    		 *	
    		 *	A function that tests for the availability of the specific method and its available modes. Will test for
    		 *  multiple modes (zip & unzip) and only return false if neither is available. Actual available modes will
    		 *  be indicated in the method attributes.
    		 *
    		 *  Note: in this case as the zip and unzip capabilities are all wrapped up in the same class then if we
    		 *  can zip then we'll assume (for now) that we can unzip as well so attributes are set accordingly.
    		 *	
    		 *	@param		string	$tempdir	Temporary directory to use for any test files (must be writeable)
    		 *	@return		bool				True if the method is available for at least one mode, false otherwise
    		 *
    		 */
    
    		/**
    		 *	create()
    		 *	
    		 *	A function that creates an archive file
    		 *	
    		 *	The $excludes will be a list or relative path excludes if the $listmaker object is NULL otehrwise
    		 *	will be absolute path excludes and relative path excludes can be had from the $listmaker object
    		 *	
    		 *	@param		string	$zip			Full path & filename of ZIP Archive file to create
    		 *	@param		string	$dir			Full path of directory to add to ZIP Archive file
    		 *	@parame		array	$excludes		List of either absolute path exclusions or relative exclusions
    		 *	@param		string	$tempdir		Full path of directory for temporary usage
    		 *	@param		object	$listmaker		The object from which we can get an inclusions list
    		 *	@return		bool					True if the creation was successful, false otherwise
    		 *
    		 */
    
    		/**
    		 *	extract()
    		 *
    		 *	Extracts the contents of a zip file to the specified directory using the best unzip methods possible.
    		 *	If no specific items given to extract then it's a complete unzip
    		 *
    		 *	@param	string		$zip_file					Full path & filename of ZIP file to extract from.
    		 *	@param	string		$destination_directory		Full directory path to extract into.
    		 *	@param	array		$items						Mapping of what to extract and to what
    		 *	@return	bool									true on success (all extractions successful), false otherwise
    		 */
    
    		/**
    		 *	extract_generic_full()
    		 *
    		 *	Extracts the contents of a zip file to the specified directory using the best unzip methods possible.
    		 *
    		 *	@param	string		$zip_file					Full path & filename of ZIP file to extract from.
    		 *	@param	string		$destination_directory		Full directory path to extract into.
    		 *	@return	bool									true on success, false otherwise
    		 */
    
    		/**
    		 *	extract_generic_selected()
    		 *
    		 *	Extracts the contents of a zip file to the specified directory using the best unzip methods possible.
    		 *
    		 *	@param	string		$zip_file					Full path & filename of ZIP file to extract from.
    		 *	@param	string		$destination_directory		Full directory path to extract into.
    		 *	@param	array		$items						Mapping of what to extract and to what
    		 *	@return	bool									true on success (all extractions successful), false otherwise
    		 */
    
    		/**
    		 *	file_exists()
    		 *	
    		 *	Tests whether a file (with path) exists in the given zip file
    		 *	If leave_open is true then the zip object will be left open for faster checking for subsequent files within this zip
    		 *	
    		 *	@param		string	$zip_file		The zip file to check
    		 *	@param		string	$locate_file	The file to test for
    		 *	@param		bool	$leave_open		Optional: True if the zip file should be left open
    		 *	@return		bool/array				True if the file is found in the zip and false if not, array for other problem
    		 *
    		 */
    
    		/*	get_file_list()
    		 *	
    		 *	Get an array of all files in a zip file with some file properties.
    		 *	
    		 *	@param		string		$zip_file	The file to list the content of
    		 *	@return		bool|array				false on failure, otherwise array of file properties (may be empty)
    		 */
    
    		/*	set_comment()
    		 *	
    		 *	Retrieve archive comment.
    		 *	
    		 *	@param		string			$zip_file		Filename of archive to set comment on.
    		 *	@param		string			$comment		Comment to apply to archive.
    		 *	@return		bool							true on success, otherwise false.
    		 */
    
    		/*	get_comment()
    		 *	
    		 *	Retrieve archive comment.
    		 *	
    		 *	@param		string		$zip_file		Filename of archive to retrieve comment from.
    		 *	@return		bool|string					false on failure, Zip comment otherwise.
    		 */
    

    File: /lib/zipbuddy/zbzipproc.php

    /**
     *	pluginbuddy_zbzipproc Class
     *
     *  Extends the zip capability core class with proc specific capability
     *	
     *	Version: 1.0.0
     *	Author:
     *	Author URI:
     *
     *	@param		$parent		object		Optional parent object which can provide functions for reporting, etc.
     *	@return		null
     *
     */
    

    Class: pluginbuddy_zbzipproc extends pluginbuddy_zbzipcore

            /**
             * method tag used to refer to the method and entities associated with it such as class name
             * 
             * @var string
             */
    
            /**
             * This tells us whether this method is regarded as a "compatibility" method
             * 
             * @var bool
             */
    
            /**
             * This tells us the dependencies of this method so they can be check to see if the method can be supported
             * 
             * @var array
             */
    
    		/**
    		 * 
    		 * get_method_tag_static()
    		 *
    		 * Get the static method tag in a static context
    		 *
    		 * @return		string	The method tag
    		 *
    		 */
    
    		/**
    		 * 
    		 * get_is_compatibility_method_static()
    		 *
    		 * Get the compatibility method indicator in a static context
    		 *
    		 * @return		bool	True if is a compatibility method
    		 *
    		 */
    
    		/**
    		 * 
    		 * get_method_dependencies_static()
    		 *
    		 * Get the method dependencies array in a static context
    		 *
    		 * @return		array	The dependencies of the method that is requires to be a supported method
    		 *
    		 */
    
    		/**
    		 * 
    		 * check_method_dependencies_static()
    		 *
    		 * Allows additional method dependency checks beyond the standard in a static context
    		 *
    		 * @return		bool	True if additional dependency checks passed
    		 *
    		 */
    
    		/**
    		 *	__construct()
    		 *	
    		 *	Default constructor.
    		 *	
    		 *	@param		reference	&$parent		[optional] Reference to the object containing the status() function for status updates.
    		 *	@return		null
    		 *
    		 */
    
    		/**
    		 *	__destruct()
    		 *	
    		 *	Default destructor.
    		 *	
    		 *	@return		null
    		 *
    		 */
    
    		/**
    		 *	get_method_tag()
    		 *	
    		 *	Returns the (static) method tag
    		 *	
    		 *	@return		string The method tag
    		 *
    		 */
    
    		/**
    		 *	get_is_compatibility_method()
    		 *	
    		 *	Returns the (static) is_compatibility_method boolean
    		 *	
    		 *	@return		bool
    		 *
    		 */
    
    		/**
    		 *	get_command_path()
    		 *	
    		 *	This returns the path for the requested command from the method details
    		 *	If not found then will return empty string which is the same as if the
    		 *	command is being accessed through PATH
    		 *	
    		 *	@return		string				Path for command, trimmed - may be empty
    		 *
    		 */
    
    		/**
    		 *	set_zip_version()
    		 *	
    		 *	This sets the zip version information in the method details
    		 *	Note: pre-v3 zip running "zip -v" will not produce the required output because
    		 *	there is no tty attached (when running through exec() or equivalent), instead
    		 *	it will produce a zip file.Currently we'll just detect that and set the version
    		 *	as 2.0 and not set the info.
    		 *	TODO: We could parse the zip file to get the version but also considering doing
    		 *	that in the is_available() test where we already created a zip file.
    		 *	TODO: Consider testing if method can zip and only then run the test
    		 *	TODO: This needs refactoring to make it cleaner
    		 *	
    		 *	@param		int		$major		Value to use if none found or override true
    		 *	@param		int		$minor		Value to use if none found or override true
    		 *	@param		bool	$override	True to use passed in value(s) regardless
    		 *	@return		object				This object reference
    		 *
    		 */
    
    		/**
    		 *	get_zip_version()
    		 *	
    		 *	This gets the zip version as an array of major/minor or returns false if not known
    		 *	TODO: Pass parameter to specify what format to return in
    		 *	
    		 *	@return		array|bool				Returns array(major, minor) or false if not known
    		 *
    		 */
    
    		/**
    		 *	set_unzip_version()
    		 *	
    		 *	This sets the zip version information in the method details
    		 *	TODO: This needs refactoring to make it cleaner
    		 *	
    		 *	@param		int		$major		Value to use if none found or override true
    		 *	@param		int		$minor		Value to use if none found or override true
    		 *	@param		bool	$override	True to use passed in value(s) regardless
    		 *	@return		object				This object reference
    		 *
    		 */
    
    		/**
    		 *	get_unzip_version()
    		 *	
    		 *	This gets the unzip version as an array of major/minor or returns false if not known
    		 *	TODO: Pass parameter to specify what format to return in
    		 *	
    		 *	@return		array|bool				Returns array(major, minor) or false if not known
    		 *
    		 */
    
    		/**
    		 *	get_zip_supports_logfile()
    		 *	
    		 *	This returns true if the zip in use is able to support logfile usage for
    		 *	logging progress of zip operation
    		 *	
    		 *	@return		bool				True if logfile supported, otherwise false
    		 *
    		 */
    
    		/**
    		 *	is_available()
    		 *	
    		 *	A function that tests for the availability of the specific method and its available modes. Will test for
    		 *  multiple modes (zip & unzip) and only return false if neither is available. Actual available modes will
    		 *  be indicated in the method attributes.
    		 *
    		 *  Note: in this case as the zip and unzip capabilities are provided by external commands we need to test
    		 *  for the availability of both of them and set attributes accordingly
    		 *	
    		 *	@param		string	$tempdir	Temporary directory to use for any test files (must be writeable)
    		 *	@return		bool				True if the method is available for at least one mode, false otherwise
    		 *
    		 */
    
    		/**
    		 *	is_available_windows()
    		 *	
    		 *	A function that tests for the availability of the specific method and its available modes. Will test for
    		 *  multiple modes (zip & unzip) and only return false if neither is available. Actual available modes will
    		 *  be indicated in the method attributes.
    		 *	
    		 *	@param		string	$tempdir	Temporary directory to use for any test files (must be writeable)
    		 *	@return		bool				True if the method is available for at least one mode, false otherwise
    		 *
    		 */
    
    		/**
    		 *	is_available_linux()
    		 *	
    		 *	A function that tests for the availability of the specific method and its available modes. Will test for
    		 *  multiple modes (zip & unzip) and only return false if neither is available. Actual available modes will
    		 *  be indicated in the method attributes.
    		 *	
    		 *	@param		string	$tempdir	Temporary directory to use for any test files (must be writeable)
    		 *	@return		bool				True if the method is available for at least one mode, false otherwise
    		 *
    		 */
    
    		/**
    		 *	create()
    		 *	
    		 *	A function that creates an archive file
    		 *	Always cleans up after itself
    		 *	
    		 *	The $excludes will be a list or relative path excludes if the $listmaker object is NULL otehrwise
    		 *	will be absolute path excludes and relative path excludes can be had from the $listmaker object
    		 *	
    		 *	@param		string	$zip			Full path & filename of ZIP Archive file to create
    		 *	@param		string	$dir			Full path of directory to add to ZIP Archive file
    		 *	@parame		array	$excludes		List of either absolute path exclusions or relative exclusions
    		 *	@param		string	$tempdir		Full path of directory for temporary usage
    		 *	@param		object	$listmaker		The object from which we can get an inclusions list
    		 *	@return		bool					True if the creation was successful, false otherwise
    		 *
    		 */
    
    		/**
    		 *	create_windows()
    		 *	
    		 *	A function that creates an archive file on Linux
    		 *	Always cleans up after itself
    		 *
    		 *	The $excludes will be a list or relative path excludes if the $listmaker object is NULL otehrwise
    		 *	will be absolute path excludes and relative path excludes can be had from the $listmaker object
    		 *	
    		 *	@param		string	$zip			Full path & filename of ZIP Archive file to create
    		 *	@param		string	$dir			Full path of directory to add to ZIP Archive file
    		 *	@parame		array	$excludes		List of either absolute path exclusions or relative exclusions
    		 *	@param		string	$tempdir		Full path of directory for temporary usage
    		 *	@param		object	$listmaker		The object from which we can get an inclusions list
    		 *	@return		bool					True if the creation was successful, false otherwise
    		 *
    		 */
    
    		/**
    		 *	create_linux()
    		 *	
    		 *	A function that creates an archive file on Linux
    		 *	Always cleans up after itself
    		 *
    		 *	The $excludes will be a list or relative path excludes if the $listmaker object is NULL otehrwise
    		 *	will be absolute path excludes and relative path excludes can be had from the $listmaker object
    		 *	
    		 *	@param		string	$zip			Full path & filename of ZIP Archive file to create
    		 *	@param		string	$dir			Full path of directory to add to ZIP Archive file
    		 *	@parame		array	$excludes		List of either absolute path exclusions or relative exclusions
    		 *	@param		string	$tempdir		Full path of directory for temporary usage
    		 *	@param		object	$listmaker		The object from which we can get an inclusions list
    		 *	@return		bool					True if the creation was successful, false otherwise
    		 *
    		 */
    
    		/**
    		 *	extract()
    		 *
    		 *	Extracts the contents of a zip file to the specified directory using the best unzip methods possible.
    		 *	If no specific items given to extract then it's a complete unzip
    		 *
    		 *	@param	string		$zip_file					Full path & filename of ZIP file to extract from.
    		 *	@param	string		$destination_directory		Full directory path to extract into.
    		 *	@param	array		$items						Mapping of what to extract and to what
    		 *	@return	bool									true on success (all extractions successful), false otherwise
    		 */
    
    		/**
    		 *	extract()
    		 *
    		 *	Extracts the contents of a zip file to the specified directory using the best unzip methods possible.
    		 *
    		 *	@param	string		$zip_file					Full path & filename of ZIP file to extract from.
    		 *	@param	string		$destination_directory		Full directory path to extract into.
    		 *	@return	bool									true on success, false otherwise
    		 */
    
    		/**
    		 *	extract_generic_selected()
    		 *
    		 *	Extracts the contents of a zip file to the specified directory using the best unzip methods possible.
    		 *
    		 *	@param	string		$zip_file					Full path & filename of ZIP file to extract from.
    		 *	@param	string		$destination_directory		Full directory path to extract into.
    		 *	@param	array		$items						Mapping of what to extract and to what
    		 *	@return	bool									true on success (all extractions successful), false otherwise
    		 */
    
    		/**
    		 *	file_exists()
    		 *	
    		 *	Tests whether a file (with path) exists in the given zip file
    		 *	If leave_open is true then the zip object will be left open for faster checking for subsequent files within this zip
    		 *	
    		 *	@param		string	$zip_file		The zip file to check
    		 *	@param		string	$locate_file	The file to test for
    		 *	@param		bool	$leave_open		Optional: True if the zip file should be left open
    		 *	@return		bool/array				True if the file is found in the zip and false if not, array for other problem
    		 *
    		 */
    
    		/*	get_file_list()
    		 *	
    		 *	Get an array of all files in a zip file with some file properties.
    		 *	
    		 *	@param		string		$zip_file	The file to list the content of
    		 *	@return		bool|array				false on failure, otherwise array of file properties (may be empty)
    		 */
    
    		/*	set_comment()
    		 *	
    		 *	Retrieve archive comment.
    		 *	
    		 *	@param		string			$zip_file		Filename of archive to set comment on.
    		 *	@param		string			$comment		Comment to apply to archive.
    		 *	@return		bool|string						true on success, error message otherwise.
    		 */
    
    		/*	get_comment()
    		 *	
    		 *	Retrieve archive comment.
    		 *	
    		 *	@param		string		$zip_file		Filename of archive to retrieve comment from.
    		 *	@return		bool|string					false on failure, Zip comment otherwise.
    		 */
    

    File: /lib/zipbuddy/zbzipziparchive.php

    /**
     *	pluginbuddy_zbzipziparchive Class
     *
     *  Extends the zip capability core class with proc specific capability
     *	
     *	Version: 1.0.0
     *	Author:
     *	Author URI:
     *
     *	@param		$parent		object		Optional parent object which can provide functions for reporting, etc.
     *	@return		null
     *
     */
    
    	/**
    	 *	pluginbuddy_ZipArchive Class
    	 *
    	 *	Wrapper for ZipArchive to handle error situations and provide additional functions
    	 *
    	 *	@param	none
    	 *	@return	null
    	 *
    	 */
    

    Class: pluginbuddy_ZipArchive

            /**
             * The created ZipArchive object if it can be created
             * 
             * @var $_za 	object
             */
    
    		/**
    		 *	__construct()
    		 *	
    		 *	Default constructor.
    		 *	TODO: Consider having a "suppress warnings" parameter to determine whether methods
    		 *	should be invoked with warnings suppressed or not. For is_available() usage we would
    		 *	want to so as not to potentially flood the PHP error log. For other functions that
    		 *	are not called frequently we might not want to suppress the warnings.
    		 *	
    		 *	@param		none
    		 *	@return		null
    		 *
    		 */
    
    		/**
    		 *	__destruct()
    		 *	
    		 *	Default destructor.
    		 *	
    		 *	@return		null
    		 *
    		 */
    
    		/**
    		 *	__call()
    		 *	
    		 *	Magic method intercepting calls to unknown methods. This allows us to intercept
    		 *	all method calls and add additional processing
    		 *	
    		 *	@param		string	$method		The name of the intercepted method
    		 *	@param		array	$arguments	Array of the arguments associated with the method call
    		 *	@return		mixed	$result		Whatever the invoked wrapper method call returns
    		 *
    		 */
    
    		/**
    		 *	__get()
    		 *	
    		 *	Magic method intercepting calls to unknown properties. This means we have to
    		 *	provide the properties of the wrapped object but that's ok as there aren't many.
    		 *	Note: Maybe we can get the object properties and automate this?
    		 *	
    		 *	@param		string	$name		The name of the property
    		 *	@return		mixed	$result		Whatever the wrapped object property returns
    		 *
    		 */
    
    		/**
    		 *	errorInfo()
    		 *	
    		 *	Translate a ZipArchive error code into an informative string description
    		 *	and returns the string. An error number can be passed in, otherwise will
    		 *	get the status property and use that (if not indicating no error) or the
    		 *	statusSys property and use that (if not indicating no error). In the case
    		 *	of the statusSys property will get the error string from the getStatusString()
    		 *	method, otherwise for status property or passed in value use the mappings
    		 *	below.
    		 *	Note: This does mean that a statusSys error no should not be passed in
    		 *	presently. In future may choose to use an offset mapping to handle that.
    		 *	
    		 *	@param		integer	$error	Optional: The error code
    		 *	@param		bool	$full	Optional: True to provide a name/value/description string
    		 *	@return		string			Informative error string
    		 *
    		 */
    

    Class: pluginbuddy_zbzipziparchive extends pluginbuddy_zbzipcore

            /**
             * method tag used to refer to the method and entities associated with it such as class name
             * 
             * @var $_method_tag 	string
             */
    
            /**
             * This tells us whether this method is regarded as a "compatibility" method
             * 
             * @var bool
             */
    
            /**
             * This tells us the dependencies of this method so they can be check to see if the method can be supported
             * 
             * @var array
             */
    
    		/**
    		 * 
    		 * get_method_tag_static()
    		 *
    		 * Get the static method tag in a static context
    		 *
    		 * @return		string	The method tag
    		 *
    		 */
    
    		/**
    		 * 
    		 * get_is_compatibility_method_static()
    		 *
    		 * Get the compatibility method indicator in a static context
    		 *
    		 * @return		bool	True if is a compatibility method
    		 *
    		 */
    
    		/**
    		 * 
    		 * get_method_dependencies_static()
    		 *
    		 * Get the method dependencies array in a static context
    		 *
    		 * @return		array	The dependencies of the method that is requires to be a supported method
    		 *
    		 */
    
    		/**
    		 *	__construct()
    		 *	
    		 *	Default constructor.
    		 *	
    		 *	@param		reference	&$parent		[optional] Reference to the object containing the status() function for status updates.
    		 *	@return		null
    		 *
    		 */
    
    		/**
    		 *	__destruct()
    		 *	
    		 *	Default destructor.
    		 *	
    		 *	@return		null
    		 *
    		 */
    
    		/**
    		 *	get_method_tag()
    		 *	
    		 *	Returns the (static) method tag
    		 *	
    		 *	@return		string The method tag
    		 *
    		 */
    
    		/**
    		 *	get_is_compatibility_method()
    		 *	
    		 *	Returns the (static) is_compatibility_method boolean
    		 *	
    		 *	@return		bool
    		 *
    		 */
    
    		/**
    		 *	is_available()
    		 *	
    		 *	A function that tests for the availability of the specific method and its available modes. Will test for
    		 *  multiple modes (zip & unzip) and only return false if neither is available. Actual available modes will
    		 *  be indicated in the method attributes.
    		 *
    		 *  Note: in this case as the zip and unzip capabilities are all wrapped up in the same class then if we
    		 *  can zip then we'll assume (for now) that we can unzip as well so attributes are set accordingly.
    		 *	
    		 *	@param		string	$tempdir	Temporary directory to use for any test files (must be writeable)
    		 *	@return		bool				True if the method is available for at least one mode, false otherwise
    		 *
    		 */
    
    		/**
    		 *	create()
    		 *	
    		 *	A function that creates an archive file
    		 *	
    		 *	The $excludes will be a list or relative path excludes if the $listmaker object is NULL otehrwise
    		 *	will be absolute path excludes and relative path excludes can be had from the $listmaker object
    		 *	
    		 *	@param		string	$zip			Full path & filename of ZIP Archive file to create
    		 *	@param		string	$dir			Full path of directory to add to ZIP Archive file
    		 *	@parame		array	$excludes		List of either absolute path exclusions or relative exclusions
    		 *	@param		string	$tempdir		Full path of directory for temporary usage
    		 *	@param		object	$listmaker		The object from which we can get an inclusions list
    		 *	@return		bool					True if the creation was successful, false otherwise
    		 *
    		 */
    
    		/**
    		 *	extract()
    		 *
    		 *	Extracts the contents of a zip file to the specified directory using the best unzip methods possible.
    		 *	If no specific items given to extract then it's a complete unzip
    		 *
    		 *	@param	string		$zip_file					Full path & filename of ZIP file to extract from.
    		 *	@param	string		$destination_directory		Full directory path to extract into.
    		 *	@param	array		$items						Mapping of what to extract and to what
    		 *	@return	bool									true on success (all extractions successful), false otherwise
    		 */
    
    		/**
    		 *	extract_generic_full()
    		 *
    		 *	Extracts the contents of a zip file to the specified directory using the best unzip methods possible.
    		 *
    		 *	@param	string		$zip_file					Full path & filename of ZIP file to extract from.
    		 *	@param	string		$destination_directory		Full directory path to extract into.
    		 *	@return	bool									true on success, false otherwise
    		 */
    
    		/**
    		 *	extract_generic_selected()
    		 *
    		 *	Extracts the contents of a zip file to the specified directory using the best unzip methods possible.
    		 *
    		 *	@param	string		$zip_file					Full path & filename of ZIP file to extract from.
    		 *	@param	string		$destination_directory		Full directory path to extract into.
    		 *	@param	array		$items						Mapping of what to extract and to what
    		 *	@return	bool									true on success (all extractions successful), false otherwise
    		 */
    
    		/**
    		 *	file_exists()
    		 *	
    		 *	Tests whether a file (with path) exists in the given zip file
    		 *	If leave_open is true then the zip object will be left open for faster checking for subsequent files within this zip
    		 *	
    		 *	@param		string	$zip_file		The zip file to check
    		 *	@param		string	$locate_file	The file to test for
    		 *	@param		bool	$leave_open		Optional: True if the zip file should be left open
    		 *	@return		bool/array				True if the file is found in the zip and false if not, array for other problem
    		 *
    		 */
    
    		/*	get_file_list()
    		 *	
    		 *	Get an array of all files in a zip file with some file properties.
    		 *	
    		 *	@param		string		$zip_file	The file to list the content of
    		 *	@return		bool|array				false on failure, otherwise array of file properties (may be empty)
    		 */
    
    		/*	set_comment()
    		 *	
    		 *	Retrieve archive comment.
    		 *	
    		 *	@param		string			$zip_file		Filename of archive to set comment on.
    		 *	@param		string			$comment		Comment to apply to archive.
    		 *	@return		bool							true on success, otherwise false.
    		 */
    
    		/*	get_comment()
    		 *	
    		 *	Retrieve archive comment.
    		 *	
    		 *	@param		string		$zip_file		Filename of archive to retrieve comment from.
    		 *	@return		bool|string					false on failure, Zip comment otherwise.
    		 */
    

    File: /lib/zipbuddy/zipbuddy.php

    /**
     *	pluginbuddy_zipbuddy Class (Experimental)
     *
     *	Handles zipping and unzipping, using the best methods available and falling back to worse methods
     *	as needed for compatibility. Allows for forcing compatibility modes.
     *	
     *	Version: 1.0.0
     *	Author: 
     *	Author URI: 
     *
     *
     */
    

    Class: pluginbuddy_zipbuddy

            /**
             * The plugin path for this plugin
             * 
             * @var string
             */
    
            /**
             * The path of the temporary directory that can be used for creating files and stuff
             * 
             * @var string
             */
    
            /**
             * The list of zip methods that are requested to be used
             * 
             * @var array of string
             */
    
            /**
             * The mode which the object is being created for
             * Note: This is now ignored as an object is instantiated for both zip & unzip services
             * 
             * @var string
             */
    
            /**
             * Status message array used when calling other methods to get status information back
             * 
             * @var array of string
             */
    
            /**
             * The list of zip methods that are to be used or are available
             * Had to make this public for now because something accesses it directly - bad karma
             * 
             * @var array of string
             */
    
            /**
             * The details of the various zip methods that are available
             * Have to make this a separate array indexed by the method tag. Ideally would be combined
             * with the zip methods array but that would involve more general changes elsewhere so that
             * refactoring can be done later - main problem is the direct access to the zip methods
             * array that is made rather than through a function.
             * 
             * @var array of array of array
             */
    
            /**
             * The list of zip methods that are supported, i.e., there is a supporting class defined
             * 
             * @var array of string
             */
    
            /**
             * Whether or not we can call a status calback
             * 
             * @var bool
             */
    
            /**
             * Object->method array for status function
             * 
             * @var array
             */
    
            /**
             * The directory name that we are loaded from (not: not path)
             * 
             * @var string
             */
    
            /**
             * Whether we are loaded as the experimental zipbuddy
             * 
             * @var bool
             */
    
            /**
             * The name of the zip methods transient will be dependent on if we are standard or experimental
             * 
             * @var string
             */
    
            /**
             * The Server API that is in use
             * 
             * @var string
             */
    
    		/**
    		 * 
    		 * get_transient_names_static()
    		 *
    		 * Get the transient name(s) that may be in use
    		 *
    		 * @return		array	The transient name(s)
    		 *
    		 */
    
    		/**
    		 *	__construct()
    		 *	
    		 *	Default constructor.
    		 *	
    		 *	@param		string		$temp_dir		The path of the temporary directory to use
    		 *	@param		array		$zip_methods	Optional: The set of zip methods requested to use
    		 *	@param		string		$mode			Optional: The zip mode for the object (ignored currently - may be reused?)
    		 *	@return		null
    		 *
    		 */
    
    		/**
    		 *	__destruct()
    		 *	
    		 *	Default destructor.
    		 *	
    		 *	@return		null
    		 *
    		 */
    
    		/**
    		 *	set_sapi_name()
    		 *
    		 *	Sets the sapi name to that given or retrieves from PHP
    		 *	TODO: Extend to also set a sapi id constant based on the name?
    		 *
    		 *	@param	string	$name	A sapi name to set (default empty)
    		 *	@return	object			This object
    		 */
    
    		/**
    		 *	get_sapi_name()
    		 *
    		 *	Returns the previously set sapi name
    		 *
    		 *	@return	string			The stored sapi name
    		 */
    
    		/**
    		 *	set_supported_zip_methods()
    		 *
    		 *	Appends or prepends the method or methods passed to the existing supported methods array
    		 *
    		 *	@param	string/array	$methods	Either a (comma separated) string of methods or an array
    		 *	@param	bool			$append		True if $methods should be appended to existing supported methods
    		 *	@return	bool						True if set succeeded, otherwise false
    		 */
    
    		/**
    		 *	check_method_dependencies()
    		 *
    		 *	Checks the dependencies that a method defines for itself - this may optionally also mean
    		 *	calling a given callback function that allows the method to add it's own very specific checks
    		 *	beyond those that are run as standard.
    		 *
    		 *	@param	string		$class_name		The name of the class to check, needed because this is static checking
    		 *	@return	bool						True if dependency check succeeded, otherwise false
    		 */
    

    Class: )

    Class: ) ) && ( !in_array( $class, $disabled_classes ) ) ) )

    		/**
    		 *	deduce_zip_methods()
    		 *	
    		 *	Returns the array of zip methods that are available (or just the best) filtered by requested methods.
    		 *	Because the available methods don't really change often (rarely once stable) we use a transient
    		 *	which has some defined lifetime so we don't waste time repeating the testing which involves creating
    		 *	objects and processes and files which can be time consuming.
    		 *	The using script can decide to have the transient refreshed by deleting it and then it will be regenerated.
    		 *	Note: There is an included "signature" so that we can detect server or other moves and regenerate.
    		 *	Note: filemtime() is used because this will (should) force the transient to update if the plugin is
    		 *	updated because the file modification time of the file will change because the plugin is installed in a
    		 *	different disk location with newly written files - the same should apply if the site is restored/migrated.
    		 *	
    		 *	@param		array	Array reference for the deduced zip methods
    		 *	@param		array	Arry reference for the details of the deduced methods
    		 *	@param		array	Flat array of requested (preferred) zip methods
    		 *	@param		bool	True if only the best available method wanted
    		 *	@param		string	Which zip mode being tested
    		 *	@return		bool	True if methods are available, False otherwise
    		 *
    		 */
    
    		/**
    		 *	use_cached_methods()
    		 *	
    		 *	Returns whether conditions/configuration indicate cached methods should be used
    		 *	Note: Temporarily add the condition for whether get_/set_transient functions
    		 *	exist - if not (meaning we are probably running under importbuddy) then we also
    		 *	skip caching. This adds a little time when instantiating because we have to test
    		 *	every time but it's acceptable for now. In the longer term we will have an
    		 *	alternative way to handle the transient data outside of WordPress.
    		 *	
    		 *	@return		bool	true if use cached methods, false otherwise
    		 *
    		 */
    
    		/**
    		 *	get_zip_methods()
    		 *	
    		 *	Returns the array of zip methods previously deduced
    		 *	
    		 *	@return		array	Flat array of zip methods (could be empty)
    		 *
    		 */
    
    		/**
    		 *	set_zip_methods()
    		 *	
    		 *	Resets the zip methods based on new criteria and returns the array of zip methods
    		 *	
    		 *	@param		array	$requested	Flat array of requested (preferred) zip methods
    		 *	@param		bool	$best_only	Optional: True if only the best available method wanted
    		 *	@return		object				This object
    		 *
    		 */
    
    		/**
    		 *	refresh_zip_methods()
    		 *
    		 *	Refresh the information on the available zip methods
    		 *	TODO: Perhaps the transient could be deleted here rather than by the caller?
    		 *
    		 *	@param		array		$zip_methods	Optional: The set of zip methods requested to use
    		 *	@return		object						This object
    		 */
    
    		/**
    		 *	sanitize_excludes()
    		 *
    		 *	Take an exclusion list of directories and/or files and produce a sanitized exclusion list
    		 *	Directories will be recognized by having a trailing directory separator otherwise will be
    		 *	treated as a file (note that here we are working with patterns and not testing to see
    		 *	whether something _is_ a directory or not because we don't necessarily have the full
    		 *	directory path).
    		 *	Note: Anything that contains a wildcard character (* or ?) is ignored as these are not
    		 *	currently supported (and maybe never will across the board). For command zip zip we can
    		 *	consider an option to have these as separate exclusions (and currently we can accomodate
    		 *	then through specifying environment ZIPOPTS.
    		 *
    		 *	@param	array		List of primary exclusions - may be empty
    		 *	@param	array		List of secondary exclusions - may be empty
    		 *	@param	string		The base directory to be used if normalizing
    		 *
    		 *	@return	mixed		array on success, false otherwise
    		 */
    
    		/**
    		 *	get_available_zip_methods()
    		 *	
    		 *	Returns the array of zip methods that are available for the mode of this object
    		 *	Libraries must have been loaded already
    		 *	
    		 *	@param		array	The supported zip methods
    		 *	@param		array	The array which will hold the available methods
    		 *	@param		array	The array that will hold the available methods attributes (method tag is key)
    		 *	@return		bool	True if methods available, False otherwise
    		 *
    		 */
    
    		/**
    		 *	get_compatibility_zip_methods()
    		 *	
    		 *	Returns the array of zip methods that are regarded as "compatibility" methods
    		 *	Libraries must have been loaded already
    		 *	
    		 *	@return		array	Flat array of zip methods (could be empty)
    		 *
    		 */
    
    		/**
    		 *	get_best_zip_methods()
    		 *	
    		 *	Returns the array of best zip method(s)
    		 *	For now we assume only one "best" method as being the first method in the list
    		 *	that has the requested attribute(s).
    		 *	Libraries must have been loaded already
    		 *	
    		 *	@param		array	$attributes	Array of attributes to check method supports
    		 *	@return		array				Flat array of zip methods (could be empty)
    		 *
    		 */
    
    		/**
    		 *	add_directory_to_zip()
    		 *
    		 *	Adds a directory to a new or existing (TODO: not yet available) ZIP file.
    		 *
    		 *	@param	string				Full path & filename of ZIP file to create.
    		 *	@param	string				Full directory to add to zip file.
    		 *	@param	array( string )		Array of strings of paths/files to exclude from zipping
    		 *	@param	string				Full directory path to directory to temporarily place ZIP
    		 *	@param	boolean				True: only use PCLZip. False: try all available
    		 *
    		 *	@return						true on success, false otherwise
    		 *
    		 */
    
    		/**
    		 *	unzip()
    		 *
    		 *	Extracts the contents of a zip file to the specified directory using the best unzip methods possible.
    		 *
    		 *	@param	string		$zip_file					Full path & filename of ZIP file to extract from.
    		 *	@param	string		$destination_directory		Full directory path to extract into.
    		 *	@param	bool|string $force_compatibility_mode	False: use all available, String: use that method
    		 *
    		 *	@return	bool									true on success, false otherwise
    		 */
    
    		 *	array( "dir/*" => "dir/*" )
    		 *	Whereby the directory dir and all it's content (recursively) is extracted to $destination/dir
    		 *	Note: the * is required otherwise you just get an empty directory
    		 *
    		 *	@param	string	$zip_file				Full path & filename of ZIP file to extract from.
    		 *	@param	string	$destination_directory	Full directory path to extract to
    		 *	@param	array	$items					Mapping of what to extract and to what
    		 *
    		 *	@return	bool							true on success (all extractions successful), false otherwise
    		 */
    
    		/**
    		 *	file_exists()
    		 *	
    		 *	Tests whether a file (with path) exists in the given zip file
    		 *	If leave_open is true then the zip object will be left open for faster checking for subsequent files within this zip
    		 *	
    		 *	@param		string	$zip_file		The zip file to check
    		 *	@param		string	$locate_file	The file to test for
    		 *	@param		bool	$leave_open		Optional: True if the zip file should be left open
    		 *	@return		bool					True if the file is found in the zip otherwise false
    		 *
    		 */
    
    		/*	get_file_list()
    		 *	
    		 *	Get an array of all files in a zip file with some file properties.
    		 *	
    		 *	@param		string		$zip_file	The file to list the content of
    		 *	@return		bool|array				false on failure, otherwise array of file properties (may be empty)
    		 */
    
    		/*	set_comment()
    		 *	
    		 *	Retrieve archive comment.
    		 *	
    		 *	@param		string			$zip_file		Filename of archive to set comment on.
    		 *	@param		string|array	$comment		Comment to apply to archive. If array, json encoded. Deliminated with MetaData: and MetaData-End:.
    		 *	@return		bool|string						true on success, error message otherwise.
    		 */
    
    		/*	get_comment()
    		 *	
    		 *	Retrieve archive comment.
    		 *	
    		 *	@param		string				$zip_file		Filename of archive to retrieve comment from.
    		 *	@param		bool				$raw_comment	If true then raw comment field data returned without processing deliminators nor json. Defaults false.
    		 *	@return		bool|string|array					false on failure, Zip comment otherwise. If comment is json encoded array returns array.
    		 */
    
    		/**
    		 *	set_status_callback()
    		 *
    		 *	Sets a reference to the function to call for each status update.
    		 *  Argument must at least be a non-empty array with 2 elements
    		 *
    		 *	@param		array 	$callback	Object->method to call for status updates.
    		 *	@return		null
    		 *
    		 */
    
    		/**
    		 *	status()
    		 *	
    		 *	Invoke status method of parent if it exists
    		 *  Must be at least one parameter otherwise ignore the call
    		 *	
    		 *	@param		string		(Expected) Status message type.
    		 *	@param		string		(Expected) Status message.
    		 *	@return		null
    		 *
    		 */
    

    File: /lib/xzipbuddy/zbdir.php

    /**
     *	pluginbuddy_zbdir Class
     *
     *  Provides a directory class for zipbuddy for building a directory tree for backup
     *	
     *	Version: 1.0.0
     *	Author:
     *	Author URI:
     *
     */
    
    	/**
    	 *	pluginbuddy_zbdir_xclusion Class
    	 *
    	 *  Abstract class for handling file/directory exclusions or inclusions
    	 *	
    	 *	All xclusions must be either all relative to the same root path or all
    	 *	absolute paths. 
    	 *	All xclusions must have normalized directory separators
    	 *	All xclusions must start with / if relative to a root path
    	 *	All dir xclusions must terminate in / (normalized directory separator)
    	 *	All xclusions must be at least one character long
    	 *	All pattern exclusions must be value PCRE syntax
    	 *
    	 *	If xclusions are absolute paths then the specific form will depend on the
    	 *	platform but must still be normalized as noted above.
    	 *
    	 *	FFS: If xclusions are given as relative then a root path must also be set if any
    	 *	operations requiring absolute paths are required. Such a root path may be passed
    	 *	as an option at object creation or subsequently set or may be passed as an option
    	 *	to any method as appropriate where it will be used in conjunction with the
    	 *	relative xclusion paths. Not sure if this will be required and in any case it may
    	 *	well give a high performance hit in some cases so probably better to build a
    	 *	new xclusions object using the absolute paths.
    	 *	
    	 *	@return		null
    	 *
    	 */
    

    Class: pluginbuddy_zbdir_xclusion

    		/**
    		 *	__construct()
    		 *	
    		 *	Construct the object with possible initial array of xclusions
    		 *	
    		 *  @param		array	$unknowns	(Optional) Possible set of xclusions that could be file and/or directory xclusions
    		 *  @param		array	$opts		(Optional) Possible name=>value options
    		 *	@return		none
    		 *
    		 */
    
    		/**
    		 *	__destruct()
    		 *	
    		 *	Desroy the object - all object storage will be recoverd by default
    		 *	
    		 *  @param		none
    		 *	@return		none
    		 *
    		 */
    
    		/**
    		 *	get()
    		 *	
    		 *	Get required type of xclusions as array
    		 *	
    		 *  @param		mixed	$type	(optional) Const value that indicates the type of xclusions to get
    		 *	@return		array			The requested xclusions (could be empty)
    		 *
    		 */
    
    		/**
    		 *	get_dir()
    		 *	
    		 *	Get directory type of xclusions as array
    		 *	
    		 *  @param		none
    		 *	@return		array			The requested xclusions (could be empty)
    		 *
    		 */
    
    		/**
    		 *	get_file()
    		 *	
    		 *	Get file type of xclusions as array
    		 *	
    		 *  @param		none
    		 *	@return		array			The requested xclusions (could be empty)
    		 *
    		 */
    
    		/**
    		 *	get_pattern()
    		 *	
    		 *	Get pattern type of xclusions as array
    		 *	
    		 *  @param		none
    		 *	@return		array			The requested xclusions (could be empty)
    		 *
    		 */
    
    		/**
    		 *	add()
    		 *	
    		 *	Add an array of xlcusions to any existing xclusions
    		 *	
    		 *  @param		array	$xclusions	The xclusions to add - could be directory/file/pattern type
    		 *	@return		object				Reference to this object
    		 *
    		 */
    
    		/**
    		 *	add_file()
    		 *	
    		 *	Add an array of type file xlcusions to any existing file xclusions
    		 *	
    		 *  @param		array	$xclusions	The xclusions to add
    		 *	@return		object				Reference to this object
    		 *
    		 */
    
    		/**
    		 *	add_dir()
    		 *	
    		 *	Add an array of directory file xlcusions to any existing directory xclusions
    		 *	
    		 *  @param		array	$xclusions	The xclusions to add
    		 *	@return		object				Reference to this object
    		 *
    		 */
    
    		/**
    		 *	add_pattern()
    		 *	
    		 *	Add an array of type pattern xlcusions to any existing pattern xclusions
    		 *	
    		 *  @param		array	$xclusions	The xclusions to add
    		 *	@return		object				Reference to this object
    		 *
    		 */
    
    		/**
    		 *	matches()
    		 *	
    		 *	Does the path match any member of the set
    		 *	
    		 *  @param		string	$path		The path to test for match to the set members
    		 *  @param		string	$type		The set members to test against
    		 *	@return		bool				True if matches any in set, otherwise False
    		 *
    		 */
    
    		/**
    		 *	matches_regex()
    		 *	
    		 *	Does the path match any member of the pattern set
    		 *	
    		 *  @param		string	$path		The path to test for match to the pattern set members
    		 *	@return		bool				True if matches any in pattern set, otherwise False
    		 *
    		 */
    
    		/**
    		 *	prefix_of()
    		 *	
    		 *	Is any member of the set a prefix of the path
    		 *	
    		 *  @param		string	$path		The path to test the set members to be prefix of
    		 *  @param		string	$type		The set members to test against
    		 *	@param		bool	$exclusive	True if member in set not allowed to be exact match to path
    		 *	@return		bool				True if prefixed by any in set, otherwise False
    		 *
    		 */
    
    		/**
    		 *	prefixed_by()
    		 *	
    		 *	Is any member of the set prefixed by the path
    		 *	
    		 *  @param		string	$path		The possible prefix path
    		 *  @param		string	$type		The set members to test against
    		 *	@param		bool	$exclusive	True if prefix not allowed to be exact match to member in set
    		 *	@return		bool				True if prefix of any in set, otherwise False
    		 *
    		 */
    
    	/**
    	 *	pluginbuddy_zbdir_exclusion Class
    	 *
    	 *  Class for specifically handling file/directory exclusions
    	 *	
    	 *	@return		null
    	 *
    	 */
    

    Class: pluginbuddy_zbdir_exclusion extends pluginbuddy_zbdir_xclusion

    	/**
    	 *	pluginbuddy_zbdir_inclusion Class
    	 *
    	 *  Class for specifically handling file/directory inclusions
    	 *	
    	 *	@return		null
    	 *
    	 */
    

    Class: pluginbuddy_zbdir_inclusion extends pluginbuddy_zbdir_xclusion

    	/**
    	 *	pluginbuddy_zbdir_node Class
    	 *
    	 *  Class for building file tree node
    	 *
    	 *	The file tree node is intended to be part of a structure that represents the
    	 *	directories (and files) that are included in a tree built out of a root directory
    	 *	and taking into account defined file/directory inclusions/exclusions. So dependent
    	 *	on these definitions it could represent a complete tree with all directories and
    	 *	files (where no exclusions are defined) or an empty tree where no directories or
    	 *	files are included (where everything is defined to be excluded). Of course normally
    	 *	it would be somewhere between these two extremes.
    	 *
    	 *	The tree can be built as a persistent structure - where the $keep parameter is defined
    	 *	as true - in which case nodes will not be destroyed once visited and the nodes can
    	 *	be visited again without having the do all the hard work of building the tree again.
    	 *	If, on the other hand, $keep is defined as false then after a node is visited it
    	 *	will be destroyed - which means the tree is treversed ina depth-first manner and the
    	 *	number of nodes in existence at any one time is purely that number required to
    	 *	represent the depth of the current path. The intention of this is of course to
    	 *	minimize memory usage. This means though that the tree can only be visited once
    	 *	and if any subsequent visit is required then it must be built again (either in keep
    	 *	mode or not, dependent on the requirement). So fot multiple visits this is more
    	 *	processot intensive - so it's really a balance of requirements vs resources.
    	 * 
    	 *	Visiing a tree means that we visit each node (in a depth first manner) and methods
    	 * 	on a provided output handler are called by the node for each file/directory by
    	 *	which the specific output handler can build up some information about the tree.
    	 *	For example, a common requirement will be to build up a list of all files/directories
    	 *	to be included in a backup, perhaps togetehr with a total count of the number of items
    	 *	as well as number of files and directories and a total size of all the files. This would
    	 *	then be used as input data for the actual zip file build or it could be used to show
    	 *	the suer exactly what was going in to the backup, etc. The list format requirements
    	 *	may be different for different zip methods, e.g., for pclzip we can only give it
    	 *	directories that are actually empty to be included (as an empty directory) because it
    	 *	itself will recurse down into directory content and we don't want it to do that - so
    	 *	we cannot give it a directory in the list that is "empty" simply because it's content
    	 *	has been excluded. For command line zip this doesn't matter as by default it doesn't
    	 *	automatically recurse down and we will not tell it to - so we could give it any "empty"
    	 *	directory in the list without harm. An output handler may creaet internal data structures
    	 *	such as the file list being an array, but it may also create a list as a file which
    	 *	would be less memory intensive for resource constrained servers. A file representation
    	 *	is also better for command line zip as we can simply pass it the file name as parameter.
    	 *	Future capabilities might allow exclusions based on criteria such as file size - so
    	 *	exclude all files >X MB so as to avoid including other large backup files for example.
    	 * 
    	 *	The root path represents the root of where we are building the tree from. The path
    	 *	is the path to this node relative to the root. So for a root of /home/user/site/ and
    	 *	a path of /wp-content/plugins the actual node would represent /home/user/site/wp-content/plugins.
    	 *	The root and path are combined for the purposes of finding if an item is a file or
    	 *	a directory _but_ the exclusion/inclusion handling (including pattern based) is
    	 *	based on the path only. This avoids having the do matching against long path strings
    	 *	where the prefix is always the root anyway.
    	 *
    	 *	If symlinks are being ignored (not followed) then even if we come across a directory
    	 *	that should be included in the backup we will only include it as such and not descend
    	 *	into it. The actual zip method will determine how to handle that item as a symlink so
    	 *	we do not completely ignore them.
    	 *
    	 *	The $in_exclusion_zone parameter is important as it tells this node whether or not it
    	 *	is in an exclusion zone, i.e., between a directory exclusion and a more specific
    	 *	directory inclusion. In that case we are just traversing through the directory and
    	 *	other content that is not on the path to the inclusion should be ignored (unless the
    	 *	specific subject of an inclusion - so a specific file _could_ be included from
    	 *	within an exclusion zone.
    	 *
    	 *	The $depth parameter is really just a way of monitoring where we are an dhow deep
    	 *	we are going. It has a special use at the root node which is to allow the node to
    	 *	handle a specific exclusion zone case where the root node is immediately in an
    	 *	exclusion zone. In theory the user of the root node could determine and set this
    	 *	but it is safer to have the root node do it. The dpeth monitoring will also enable
    	 *	us to consider bailing out if it appears we are disappearing down a black-hole
    	 *	because of some bad looping symlink setup or whatever.
    	 * 
    	 * 	The $mode parameter is used to define how we respond to exclusions/inclusions. In
    	 * 	a standard mode all excluded items are ignored totally. In a complete mode all
    	 * 	items are recorded. In both cases the item 'status' will indicate whether the item
    	 * 	is an excluded or included item and also a 'reason' may be recorded as to why the
    	 * 	item is excluded or included. Th ereason may be present in a debug mode that would
    	 * 	record, for example, the rule that was triggered and perhaps the specific matches
    	 * 	that led to the exclusion or inclusion (FFS)
    	 *	
    	 *	@return		null
    	 *
    	 */
    

    Class: pluginbuddy_zbdir_node

    		/**
    		 *	__construct()
    		 *	
    		 *	Construct the node object
    		 *
    		 *	Constructs a tree node wheer $root is tha root of the tree and $path is the
    		 *	specific path of this node.
    		 *	1) root may be empty if using absolute paths for build and xclusions
    		 *	2) root may be / if working in a "caged" filesystem
    		 *	3) root may be //share/ if this is a windows share
    		 *	4) root may be :/ if windows
    		 *	As the path is generally relative to the root it makes handling exclusions and
    		 *	inclusions easier/faster because shorter than the absolute paths would be.
    		 *	
    		 *	Both the root and the path must be normalized to *nix style deparators.
    		 *
    		 *	Will throw exception if a directory cannot be scanned.
    		 *	
    		 *  @param		string	$root				Directory path of the root of the tree
    		 *  @param		string	$path				Directory path relative to the root
    		 *	@param		object	$exclusion_handler
    		 *	@param		object	$inclusion_handler
    		 *	@param		object	$visitor
    		 *	@param		bool	$ignore_symlinks
    		 *	@param		bool	$keep
    		 * 	@param		mixed 	$mode
    		 *	@param		bool	$in_exclusion_zone
    		 *	@param		int		$depth
    		 *	@return		none
    		 *
    		 */
    
    		/**
    		 *	__destruct()
    		 *	
    		 *	Desroy the object - all object storage will be recoverd by default
    		 *	
    		 *	Simply destroy any child nodes (which will recurse down)
    		 *	Everything else handled by the unset() of _this_ object
    		 *	and the various handler objects are owned by the original
    		 *	creator of the top level node and are used by all nodes so
    		 *	we don't do anything to them.
    		 *
    		 *  @param		none
    		 *	@return		none
    		 *
    		 */
    
    		/**
    		 *	stat()
    		 *	
    		 *	Return an array of information about the particular item
    		 *	
    		 *	Return an array of information about the item
    		 *	$extra is an array of key=>value pairs to merge in as additional/override
    		 *	Note: for "absolute_path" key item we need to "fake" the $item value when
    		 *	path is / otherwise we get the parent-of-the-parent from dirname()
    		 * 	Note: $path will have / prefix _and_ suffix and $root will have a / suffix
    		 * 	so we strip the prefix off the $path when concatenating them
    		 *
    		 *  @param		string	$root
    		 *	@param		string	$path
    		 *	@param		string	$item
    		 *	@param		array	$extra
    		 *	@return		array
    		 *
    		 */
    
    		/**
    		 *	get_tsize()
    		 *	
    		 *	Return an total size of all the content of the directory, including
    		 *	subdirectories.
    		 *
    		 *  @param		none
    		 *	@return		int		The total size of this directory content including subdirectories
    		 *
    		 */
    
    		/**
    		 *	visit()
    		 *	
    		 *	The visit funciton that builds information about the node and extends down paths
    		 *	for any subdirectories thus building the structure further.
    		 *
    		 *	Will call upon the output handler which may be explicitly passed for a subseqeunt
    		 *	visit or will be the handler provided when the node was constructed.
    		 *
    		 *	Need to record for the directory whether it is truly empty or merely empty
    		 *	because all files/directories have been excluded. This may need to be known
    		 *	for some zip methods that can only include a directory as empty if it really
    		 *	is empty, otherwise the zip method would recurse into it even though we had
    		 *	excluded all the content.
    		 *
    		 *  @param		object	$visitor		The output handler to call upon
    		 *	@return		none
    		 *
    		 */
    

    Class: pluginbuddy_zbdir_visitor

    Class: pluginbuddy_zbdir_visitor_details extends pluginbuddy_zbdir_visitor

    	/**
    	 *	pluginbuddy_zbdir Class
    	 *
    	 *  Class for building a list of files to be included in a backup
    	 *
    	 *	
    	 *	@return		null
    	 *
    	 */
    

    Class: pluginbuddy_zbdir

            /**
             * The path of this directory node
             * Will have a trailing directory separator
             * 
             * @var root string
             */
    
    		/**
    		 *	__construct()
    		 *	
    		 *	Default constructor.
    		 *	
    		 *	
    		 *	@param		string		$root			The root path of the tree
    		 *	@param		array		$options		The various options as an associative array
    		 *	@return		null
    		 *
    		 */
    
    		/**
    		 *	__destruct()
    		 *	
    		 *	Default destructor.
    		 *	
    		 *	@return		null
    		 *
    		 */
    

    File: /lib/xzipbuddy/zbzip.php


    File: /lib/xzipbuddy/zbzipcore.php

    /**
     *	pluginbuddy_zbzipcore Class
     *
     *  Provides an abstract zip capability core class
     *	
     *	Version: 1.0.0
     *	Author:
     *	Author URI:
     *
     *	@param		$parent		object		Optional parent object which can provide functions for reporting, etc.
     *	@return		null
     *
     */
    
    	/**
    	 *	pluginbuddy_stat Class
    	 *
    	 *	Convenience for being able to augment the stat() function either in the event
    	 *	of failure or for cases where the actual file size reported is too large for the
    	 *	(signed) integer type in which case we create an additional associative field in
    	 *	the array which is a double and contains the file size.
    	 *	For now it's just some static methods but might extend to be a true class.
    	 *
    	 *	@param	string		$filename	The name of the file to stat
    	 *	@return	array|bool				False on failure otherwise array
    	 *
    	 */
    

    Class: pluginbuddy_stat

    	/**
    	 *	pb_backupbuddy_zip_helper Class
    	 *
    	 *	Class that is used during a zip archive file build to monitor the progress
    	 *	of the build and provide optional logging and actions to keep the process
    	 *	running. This is a parent class which a method will extend for a method
    	 *	specific class that contains additional functions, etc. to manage the specific
    	 *	needs of that method.
    	 *
    	 */
    

    Class: pb_backupbuddy_zip_helper

    Class: pluginbuddy_zbzipcore

            /**
             * The plugin path for this plugin
             * 
             * @var $_pluginPath string
             */
    
            /**
             * The path of this directory node
             * 
             * @var path string
             */
    
            /**
             * The absolute paths to be excluded, must be / terminated
             * 
             * @var paths_to_exclude array of string
             */
    
            /**
             * The details of the method
             * 
             * @var method_details array
             */
    
            /**
             * The set of paths where to look for executables
             * 
             * @var  executable_paths	array
             */
    
            /**
             * Whether or not we can call a status calback
             * 
             * @var have_status_callback bool
             */
    
            /**
             * Object->method array for status function
             * 
             * @var status_callback array
             */
    
            /**
             * Array of status information
             * 
             * @var status array
             */
    
            /**
             * Enumerated OS type
             * 
             * @var os_type	int
             */
    
            /**
             * Convenience boolean indicating if PHP has exec_dir set or not
             * 
             * @var exec_dir_set	bool
             */
    
            /**
             * Convenience boolean indicating if Warnings should be ignored when building archives
             * 
             * @var ignore_warnings	bool
             */
    
            /**
             * Convenience boolean indicating if symlinks should be ignored/not-followed when building archives
             * 
             * @var ignore_symlinks	bool
             */
    
             /**
             * Convenience boolean indicating if compression shoul dbe used when building archives
             * 
             * @var compression	bool
             */
    
           /**
             * Used to translate our warnings reasons into a longer description
             * 
             * @var array
             */
    
            /**
             * The Server API that is in use
             * 
             * @var string
             */
    
    		/**
    		 *	__construct()
    		 *	
    		 *	Default constructor.
    		 *	
    		 *	@return		null
    		 *
    		 */
    
    		/**
    		 *	__destruct()
    		 *	
    		 *	Default destructor.
    		 *	
    		 *	@return		null
    		 *
    		 */
    
    		/**
    		 *	set_os_type()
    		 *
    		 *	Sets the identifier for the OS type that we are running on that can then be used for
    		 *	OS specific processing. If no enumerated type value is passed in then deduce the
    		 *	value to set from system information.
    		 *	Note: Currently uses PHP_OS which strictly speaking is the OS that PHP was built on
    		 *	whereas php_uname() could be used to determine the actual OS being run on if we really
    		 *	need that (and sometimes it has to revert back to just returning the PHP_OS value if
    		 *	the OS uname library doesn't exist or isn't working properly.
    		 *
    		 *	@param		$os_type	int		OS type to set (can be used to override deduced type)
    		 *
    		 */
    
    		/**
    		 *	get_os_type()
    		 *
    		 *	Gets the enumerated identifier for the OS type that we are running on
    		 *
    		 *	@return		int		Enumerated OS type value
    		 *
    		 */
    
    		/**
    		 *	set_exec_dir_flag()
    		 *
    		 *	Checks whether exec_dir is set in PHP environment and sets internal flag
    		 *
    		 *	@return		bool		True is exec_dir is set and not-empty
    		 *
    		 */
    
    		/**
    		 *	get_exec_dir_flag()
    		 *
    		 *	Gets the flag indicating the status of exec_dir setting
    		 *
    		 *	@return		bool		Value of $_exec_dir_set
    		 *
    		 */
    
    		/**
    		 *	set_ignore_warnings()
    		 *
    		 *	Checks conditions to see if warnings should be ignored when archives are
    		 *	being built.
    		 *
    		 *	@param		bool	$ignore	False (default) to let conditions decide, True to force ignore
    		 *	@return		bool			True if conditions indicate warnings should be ignored
    		 *
    		 */
    
    		/**
    		 *	get_ignore_warnings()
    		 *
    		 *	Gets the flag indicating whether warnings should be ignored when building archives
    		 *
    		 *	@return		bool		Value of $_ignore_warnings
    		 *
    		 */
    
    		/**
    		 *	set_ignore_synlinks()
    		 *
    		 *	Checks conditions to see if symlinks should be ignored/not-followed when archives are
    		 *	being built.
    		 *
    		 *	@param		bool	$ignore	False (default) to let conditions decide, True to force ignore
    		 *	@return		bool			True if conditions indicate symlinks should be ignored/not-followed
    		 *
    		 */
    
    		/**
    		 *	get_ignore_symlinks()
    		 *	
    		 *	This returns true if the option to ignore symlinks is set. In this context ignoring
    		 *	means not following but the symlink itself is recorded in the backup
    		 *	
    		 *	@return		bool				Value of $_ignore_symlinks
    		 *
    		 */
    
    		/**
    		 *	set_compression()
    		 *
    		 *	Checks conditions to see if compression should be used when building archive
    		 *
    		 *	@param		bool	$compression	False (default) to let conditions decide, True to force compression
    		 *	@return		bool					True if conditions indicate compression should be used
    		 *
    		 */
    
    		/**
    		 *	get_compression()
    		 *	
    		 *	This returns true if the option to use compression is set.
    		 *	
    		 *	@return		bool				Value of $_compression
    		 *
    		 */
    
    		/**
    		 *	set_sapi_name()
    		 *
    		 *	Sets the sapi name to that given or leave empty
    		 *
    		 *	@param	string	$name	A sapi name to set (default empty)
    		 *	@return	object			This object
    		 */
    
    		/**
    		 *	get_sapi_name()
    		 *
    		 *	Returns the previously set sapi name
    		 *
    		 *	@return	string			The stored sapi name
    		 */
    
    		/**
    		 *	set_status_callback()
    		 *
    		 *	Sets a reference to the function to call for each status update.
    		 *  Argument must at least be a non-empty array with 2 elements
    		 *
    		 *	@param		array 	$callback	Object->method to call for status updates.
    		 *	@return		null
    		 *
    		 */
    
    		/**
    		 *	get_status()
    		 *	
    		 *	Returns the status array
    		 *	
    		 *	@return		array	The status array
    		 *
    		 */
    
    		/**
    		 *	log_archive_file_stats()
    		 *	
    		 *	Produced a status log entry for the archive file stats
    		 *	
    		 *	@param	string	$file	The file to stat and and log
    		 *	@return		
    		 *
    		 */
    
    		/**
    		 *	get_method_tag()
    		 *	
    		 *	Returns the (static) method tag
    		 *	
    		 *	@return		string The method tag
    		 *
    		 */
    
    		/**
    		 *	get_is_compatibility_method()
    		 *	
    		 *	Returns the (static) is_compatibility_method boolean
    		 *	
    		 *	@return		bool
    		 *
    		 */
    
    		/**
    		 *	get_method_details()
    		 *	
    		 *	Returns the details array
    		 *	
    		 *	@return		array
    		 *
    		 */
    
    		/**
    		 *	set_method_details()
    		 *	
    		 *	Sets the internal (settable) details
    		 *	
    		 *	@param		array
    		 *	@return		null
    		 *
    		 */
    
    		/**
    		 *	get_executable_paths()
    		 *	
    		 *	Returns the executable_paths array
    		 *	
    		 *	@return		array
    		 *
    		 */
    
    		/**
    		 *	set_executable_paths()
    		 *	
    		 *	Sets the executable_paths array so can be used to augment or override the default
    		 *	
    		 *	@param		$paths	array	Paths to set or merge
    		 *	@param		$merge	bool	True (default) if merging paths with current paths
    		 *	@param		$before	bool	True (default) if paths to be prepended
    		 *	@return		null
    		 *
    		 */
    
    		/**
    		 *	delete_directory_recursive()
    		 *	
    		 *	Recursively delete a directory and it's content
    		 *	
    		 *	@param		string	$directory	Directory to delete
    		 *	@return		bool				True if operation fully successful, otherwise false
    		 *
    		 */
    
    		/*	_render_exclusions_file()
    		 *	
    		 *	function description
    		 *	
    		 *	@param		string		$file			File to write exclusions into.
    		 *	@param		array		$exclusions		Array of directories/paths to exclude. One per line.
    		 *	@return		null
    		 */
    
    		/**
    		 *	slashify()
    		 *
    		 *	A function to add a slash to the end of a path. It is much like the WordPress trailingslashit()
    		 *	but allows for not adding a slash to an empty path. Will add a normalized slash unless overridden
    		 *	Note: Will not process any embedded directory separators
    		 *
    		 *	@param	string	$path					The path to add a trailing slash to
    		 *	@param	bool	$ignore_empty			True (default) if should _not_ add a trailing slash to an empty path
    		 *	@param	bool	$use_normalized_slash	True (default) to add a normalized slash, otherwise add platform separator
    		 *	@return	string							The path with trailing slash optionally added
    		 *
    		 */
    
    		/**
    		 *	unslashify()
    		 *
    		 *	A function to remove a slash to the end of a path. It is much like the WordPress untrailingslashit()
    		 *	but copes with either form of trailing slash.
    		 *	Note: Will not process any embedded directory separators and may produce an empty path.
    		 *
    		 *	@param	string	$path					The path to remove a trailing slash from
    		 *	@param	bool	$ignore_empty			True (default) if should proceed even if will produce an empty path
    		 *	@return	string							The path with trailing slash removed
    		 *
    		 */
    
    		/**
    		 *	log_zip_reports()
    		 *
    		 *	A function to process reports parsed from the zip process output and log them and optionally
    		 *	send to a file if there are a lot of reports. If the number of reports is such that they require
    		 *	to be written to a file then all the reports will be written to the file, not just the overflow.
    .		 *
    		 *	@param	array	$reports_log			array containing the type of reports to log
    		 *	@param	array	$reports_desc			array containing text description of report reason
    		 *	@param	string	$report_prefix			a prefix string to go before the report text
    		 *	@param	integer	$report_lines_to_show	the number of reports to show in log before overflowing to a file
    		 *	@param	string	$report_file			overflow file if too many reports to show directly in log
    		 *	@return	N/A								Currently no return parameter
    		 *
    		 */
    
    		/**
    		 *	is_available()
    		 *	
    		 *	A function that tests for the availability of the specific method and its available modes. Will test for
    		 *  multiple modes (zip & unzip) and only return false if neither is available. Actual available modes will
    		 *  be indicated in the method attributes.
    		 *	
    		 *	@param		string	$tempdir	Temporary directory to use for any test files (must be writeable)
    		 *	@return		bool				True if the method is available for at least one mode, false otherwise
    		 *
    		 */
    
    		/**
    		 *	create()
    		 *	
    		 *	A function that creates an archive file
    		 *	
    		 *	The $excludes will be a list or relative path excludes if the $listmaker object is NULL otherwise
    		 *	will be absolute path excludes and relative path excludes can be had from the $listmaker object
    		 *	
    		 *	@param		string	$zip			Full path & filename of ZIP Archive file to create
    		 *	@param		string	$dir			Full path of directory to add to ZIP Archive file
    		 *	@parame		array	$excludes		List of either absolute path exclusions or relative exclusions
    		 *	@param		string	$tempdir		Full path of directory for temporary usage
    		 *	@param		object	$listmaker		The object from which we can get an inclusions list
    		 *	@return		bool					True if the creation was successful, false otherwise
    		 *
    		 */
    
    		/**
    		 *	extract()
    		 *
    		 *	Extracts the contents of a zip file to the specified directory using the best unzip methods possible.
    		 *
    		 *	@param	string		$zip_file					Full path & filename of ZIP file to extract from.
    		 *	@param	string		$destination_directory		Full directory path to extract into.
    		 *	@param	array		$items						Mapping of what to extract and to what
    		 *	@return	bool									true on success (all extractions successful), false otherwise
    		 */
    
    		/**
    		 *	file_exists()
    		 *	
    		 *	Tests whether a file (with path) exists in the given zip file
    		 *	If leave_open is true then the zip object will be left open for faster checking for subsequent files within this zip
    		 *	
    		 *	@param		string	$zip_file		The zip file to check
    		 *	@param		string	$locate_file	The file to test for
    		 *	@param		bool	$leave_open		Optional: True if the zip file should be left open
    		 *	@return		bool					True if the file is found in the zip otherwise false
    		 *
    		 */
    
    		/*	get_file_list()
    		 *	
    		 *	Get an array of all files in a zip file with some file properties.
    		 *	
    		 *	@param		string		$zip_file	The file to list the content of
    		 *	@return		bool|array				false on failure, otherwise array of file properties (may be empty)
    		 */
    
    		/*	set_comment()
    		 *	
    		 *	Retrieve archive comment.
    		 *	
    		 *	@param		string			$zip_file		Filename of archive to set comment on.
    		 *	@param		string			$comment		Comment to apply to archive.
    		 *	@return		bool							true on success, otherwise false.
    		 */
    
    		/*	get_comment()
    		 *	
    		 *	Retrieve archive comment.
    		 *	
    		 *	@param		string		$zip_file		Filename of archive to retrieve comment from.
    		 *	@return		bool|string					false on failure, Zip comment otherwise.
    		 */
    

    File: /lib/xzipbuddy/zbzipexec.php

    /**
     *	pluginbuddy_zbzipexec Class
     *
     *  Extends the zip capability core class with proc specific capability
     *	
     *	Version: 1.0.0
     *	Author:
     *	Author URI:
     *
     *	@param		$parent		object		Optional parent object which can provide functions for reporting, etc.
     *	@return		null
     *
     */
    
    	/**
    	 *	pb_backupbuddy_exec_helper Class
    	 *
    	 *	Extends the parent pb_backupbuddy_zip_helper class for the exec method.
    	 *	Although we are having the instance handling here it isn't strictly required
    	 *	for teh exec method because we have no callbacks to handle - but does no harm
    	 *	and maybe we'll just elevate this to the abstract class?
    	 *
    	 */
    

    Class: pb_backupbuddy_exec_helper extends pb_backupbuddy_zip_helper

            /**
             * Our object instance
             * 
             * @var $_instance 	object
             */
    
    		/**
    		 *	__construct()
    		 *	
    		 *	Default constructor.
    		 *	Record our own instance and then use the parent constructor.
    		 *	
    		 *	@return		none
    		 *
    		 */
    
    		/**
    		 *	__destruct()
    		 *	
    		 *	Default destructor.
    		 *	Nullify our own instance and then use the parent destructor.
    		 *	
    		 *	@return		none
    		 *
    		 */
    
    		/**
    		 * 
    		 *	get_instance()
    		 *
    		 *	If the object is already created then simply return the instance else
    		 *	create an object and return the instance.
    		 *	Currently only one instance is allowed at a time but currently there is
    		 *	no scenario that would require more than one at any time.
    		 *
    		 *	@return		object					This object instance	
    		 *
    		 */
    
    		/**
    		 * 
    		 *	burst_begin()
    		 *
    		 *	Initializes to begin putting together content for a new burst
    		 *
    		 *	@return		none
    		 *
    		 */
    
    		/**
    		 * 
    		 *	burst_end()
    		 *
    		 *	Wrap up after the end of the current burst
    		 *
    		 *	@return		none
    		 *
    		 */
    
    		/**
    		 * 
    		 *	burst_content_added()
    		 *
    		 *	Gives us information on what has just been added to burst content so we
    		 *	can assess the progress against our criteria for completion of the current
    		 *	burst content.
    		 *
    		 *	@param		array		$content	Details about the item just added
    		 *	@return		none
    		 *
    		 */
    
    		/**
    		 * 
    		 *	burst_content_complete()
    		 *
    		 *	Return whether or not we consider the burst content to be complete for the
    		 *	current burst
    		 *
    		 *	@return		bool					True if complete, false otherwise
    		 *
    		 */
    
    		/**
    		 * 
    		 *	burst_start()
    		 *
    		 *	Signals that the burst activity is about to be started so we can start to
    		 *	monitor it for the purposes of assessing how it went and how that will impact
    		 *	the next burst
    		 *
    		 *	@return		none
    		 *
    		 */
    
    		/**
    		 * 
    		 *	burst_stop()
    		 *
    		 *	Signals that the burst activity has completed so we can stop the monitoring
    		 *	and decide how the next burst is going to go
    		 *
    		 *	Current algorithm is quite simple:
    		 *	Nbt - New Burst Threshold
    		 *	Cbt - Current Burst Threshold
    		 *	Lbd - Last Burst Duration
    		 *	Bdmp - Burst Default Max Period
    		 *	Bdms - Burst Default Max Size
    		 *	
    		 *	Nbt = Cbt + ( Cbt * ( ( Bdmp - Ldb ) / Bdmp ) )
    		 *	
    		 *	Which basically means the longer the burst of the current size threshold takes
    		 *	to complete the smaller the amount by which we increase the burst size threshold.
    		 *	In the extreme, if the size threshold is such that the burst takes longer than we
    		 *	would like then we don't increase the threshold at all - currently we don't reduce
    		 *	it though.
    		 *	The actual burst size will always exceed the threshold because we always
    		 *	add items until the threshold is croseed (rather than not adding an item if the
    		 *	threshold would be crossed). This does mean if we add a large item the threshold
    		 *	could be exceeded by quite a bit, which is probably ok if we have a large threshold
    		 *	but could be a problem if the threshold is low because the server is actually slow.
    		 *	We may have to change the algorithm so that we do not add (or we take back) an item
    		 *	if the threshold would be crossed (unless it is due to a single item entirely in
    		 *	which case we have to add it).
    		 *	We set a maximum burst threshold size and use that as a cap.
    		 *	For a small backup where the server is quite fast we should complete in a few bursts
    		 *	as the threshold will start low but increase quite quickly. For a small backup where
    		 *	the server is slow then the threshold will not increase that much each time so it will
    		 *	take more bursts. For a large backup with a fast server the threshold should increase
    		 *	quickly and then we'll be doing some number of maximumum sized bursts until completion.
    		 *	
    		 *	Example: Suppose a backup content size is 200MB and the server has a disk i/o limit
    		 *	that is low at 1MB/s. We start with a burst threshold of 10MB and we'll be generous
    		 *	and say it takes the server 10s because of that disk i/o limit. The new threshold
    		 *	calculation will be Nbt = 10 + ( 10 * ( ( 40 - 10 ) / 40) ) = 17.5. Because of the
    		 *	disk i/o limit we'll say this next burst will then take 18s, so we'll then get
    		 *	Nbt = 17.5 + ( 17.5 * ( ( 40 - 17.5 ) / 40 ) ) = 27.3, and the next
    		 *	Nbt = 27.3 + ( 27.3 * ( ( 40 - 27.3 ) / 40 ) ) = 36, and the next
    		 *	Nbt = 36 + ( 36 * ( ( 40 - 36 ) / 40 ) ) = 39.6, and the next
    		 *	Nbt = 39.6 + ( 39.6 * ( ( 40 - 39.6 ) / 40 ) ) = 39.996
    		 *	and once those burst were completed we would have processed 170MB of content. You
    		 *	can see that the next burst threshold is actually going to top out at 40MB and that
    		 *	would be the case for all successive burts but in this case the next burts would see
    		 *	the backup completing. What this shows is that the burst size will adapt so that
    		 *	based on the server speed we don't have a burst that is larger than the server
    		 *	should be able to complete within what we have set as Bdmp (=40s in this case). Here,
    		 *	as the limit is the disk i/o the burst threshold approaches 40MB because with a disk
    		 *	i/o of 1MB/s we can never do more than 40MB in a burst. Obviously this is slightly
    		 *	artificial because the 40MB content will be compressed down by some degree _but_ we
    		 *	also have to consider the cpu performance and that we have to read the content as
    		 *	well so it's a reasonable example.
    		 *	If the server were faster then the burst size threshold would increase much faster
    		 *	and likely top out at the maximum we set (currently 100MB)
    		 *
    		 *	@return		none
    		 *
    		 */
    

    Class: pluginbuddy_zbzipexec extends pluginbuddy_zbzipcore

            /**
             * method tag used to refer to the method and entities associated with it such as class name
             * 
             * @var $_method_tag 	string
             */
    
            /**
             * This tells us whether this method is regarded as a "compatibility" method
             * 
             * @var bool
             */
    
            /**
             * This tells us the dependencies of this method so they can be check to see if the method can be supported
             * 
             * @var array
             */
    
            /**
             * Boolean to indicate if we can support comment handling based on dependency check
             * 
             * @var $_allow_is_commenter bool
             */
    
    		/**
    		 * 
    		 * get_method_tag_static()
    		 *
    		 * Get the static method tag in a static context
    		 *
    		 * @return		string	The method tag
    		 *
    		 */
    
    		/**
    		 * 
    		 * get_is_compatibility_method_static()
    		 *
    		 * Get the compatibility method indicator in a static context
    		 *
    		 * @return		bool	True if is a compatibility method
    		 *
    		 */
    
    		/**
    		 * 
    		 * get_method_dependencies_static()
    		 *
    		 * Get the method dependencies array in a static context
    		 *
    		 * @return		array	The dependencies of the method that is requires to be a supported method
    		 *
    		 */
    
    		/**
    		 * 
    		 * check_method_dependencies_static()
    		 *
    		 * Allows additional method dependency checks beyond the standard in a static context
    		 *
    		 * @return		bool	True if additional dependency checks passed
    		 *
    		 */
    
    		/**
    		 *	__construct()
    		 *	
    		 *	Default constructor.
    		 *	
    		 *	@param		reference	&$parent		[optional] Reference to the object containing the status() function for status updates.
    		 *	@return		null
    		 *
    		 */
    
    		/**
    		 *	__destruct()
    		 *	
    		 *	Default destructor.
    		 *	
    		 *	@return		null
    		 *
    		 */
    
    		/**
    		 *	get_method_tag()
    		 *	
    		 *	Returns the (static) method tag
    		 *	
    		 *	@return		string The method tag
    		 *
    		 */
    
    		/**
    		 *	get_is_compatibility_method()
    		 *	
    		 *	Returns the (static) is_compatibility_method boolean
    		 *	
    		 *	@return		bool
    		 *
    		 */
    
    		/**
    		 *	get_command_path()
    		 *	
    		 *	This returns the path for the requested command from the method details
    		 *	If not found then will return empty string which is the same as if the
    		 *	command is being accessed through PATH
    		 *	
    		 *	@return		string				Path for command, trimmed - may be empty
    		 *
    		 */
    
    		/**
    		 *	set_zip_version()
    		 *	
    		 *	This sets the zip version information in the method details
    		 *	Use "zip -h" to get a standardized help output that contains the zip version.
    		 *	Theoretically we should be able to use "zip -v" to get zip version and build
    		 *	details but pre-v3 zip running "zip -v" will not produce the required output because
    		 *	there is no tty attached (when running through exec() or equivalent), instead
    		 *	it will (or should) produce a zip file. However, it has been found that even this
    		 *	is not reliable and some installations just seem to freeze when "zip -v" is run
    		 *	which borks the whole process.
    		 *	So we use "zip -h" first to get the basic zip version information and as a future
    		 *	extension if it is version 3.0+ (3.0 is current and 3.1 hasn't been officially
    		 *	released) we may then run "zip -v" to get the extended version and build information.
    		 *	
    		 *	@param		int		$major		Value to use if none found or override true
    		 *	@param		int		$minor		Value to use if none found or override true
    		 *	@param		bool	$override	True to use passed in value(s) regardless
    		 *	@return		object				This object reference
    		 *
    		 */
    
    		/**
    		 *	get_zip_version()
    		 *	
    		 *	This gets the zip version as an array of major/minor or returns false if not known
    		 *	TODO: Pass parameter to specify what format to return in
    		 *	
    		 *	@return		array|bool				Returns array(major, minor) or false if not known
    		 *
    		 */
    
    		/**
    		 *	set_unzip_version()
    		 *	
    		 *	This sets the unzip version information in the method details
    		 *	
    		 *	@param		int		$major		Value to use if none found or override true
    		 *	@param		int		$minor		Value to use if none found or override true
    		 *	@param		bool	$override	True to use passed in value(s) regardless
    		 *	@return		object				This object reference
    		 *
    		 */
    
    		/**
    		 *	get_unzip_version()
    		 *	
    		 *	This gets the unzip version as an array of major/minor or returns false if not known
    		 *	TODO: Pass parameter to specify what format to return in
    		 *	
    		 *	@return		array|bool				Returns array(major, minor) or false if not known
    		 *
    		 */
    
    		/**
    		 *	get_zip_supports_logfile()
    		 *	
    		 *	This returns true if the zip in use is able to support logfile usage for
    		 *	logging progress of zip operation
    		 *	
    		 *	@return		bool				True if logfile supported, otherwise false
    		 *
    		 */
    
    		/**
    		 *	is_available()
    		 *	
    		 *	A function that tests for the availability of the specific method and its available modes. Will test for
    		 *  multiple modes (zip & unzip) and only return false if neither is available. Actual available modes will
    		 *  be indicated in the method attributes.
    		 *
    		 *  Note: in this case as the zip and unzip capabilities are provided by external commands we need to test
    		 *  for the availability of both of them and set attributes accordingly
    		 *	
    		 *	@param		string	$tempdir	Temporary directory to use for any test files (must be writeable)
    		 *	@return		bool				True if the method is available for at least one mode, false otherwise
    		 *
    		 */
    
    		/**
    		 *	is_available_generic()
    		 *	
    		 *	A function that tests for the availability of the specific method and its available modes. Will test for
    		 *  multiple modes (zip & unzip) and only return false if neither is available. Actual available modes will
    		 *  be indicated in the method attributes.
    		 *
    		 *  Note: in this case as the zip and unzip capabilities are provided by external commands we need to test
    		 *  for the availability of both of them and set attributes accordingly
    		 *	
    		 *	@param		string	$tempdir	Temporary directory to use for any test files (must be writeable)
    		 *	@return		bool				True if the method is available for at least one mode, false otherwise
    		 *
    		 */
    
    		/**
    		 *	create()
    		 *	
    		 *	A function that creates an archive file
    		 *	Always cleans up after itself
    		 *	
    		 *	The $excludes will be a list or relative path excludes if the $listmaker object is NULL otehrwise
    		 *	will be absolute path excludes and relative path excludes can be had from the $listmaker object
    		 *	
    		 *	@param		string	$zip			Full path & filename of ZIP Archive file to create
    		 *	@param		string	$dir			Full path of directory to add to ZIP Archive file
    		 *	@parame		array	$excludes		List of either absolute path exclusions or relative exclusions
    		 *	@param		string	$tempdir		Full path of directory for temporary usage
    		 *	@param		object	$listmaker		The object from which we can get an inclusions list
    		 *	@return		bool					True if the creation was successful, false otherwise
    		 *
    		 */
    
    		/**
    		 *	create_generic()
    		 *	
    		 *	A function that creates an archive file
    		 *	
    		 *	The $excludes will be a list or relative path excludes if the $listmaker object is NULL otehrwise
    		 *	will be absolute path excludes and relative path excludes can be had from the $listmaker object
    		 *	
    		 *	@param		string	$zip			Full path & filename of ZIP Archive file to create
    		 *	@param		string	$dir			Full path of directory to add to ZIP Archive file
    		 *	@parame		array	$excludes		List of either absolute path exclusions or relative exclusions
    		 *	@param		string	$tempdir		[Optional] Full path of directory for temporary usage
    		 *	@return		bool					True if the creation was successful, false otherwise
    		 *
    		 */
    
    		/**
    		 *	extract()
    		 *
    		 *	Extracts the contents of a zip file to the specified directory using the best unzip methods possible.
    		 *	If no specific items given to extract then it's a complete unzip
    		 *
    		 *	@param	string		$zip_file					Full path & filename of ZIP file to extract from.
    		 *	@param	string		$destination_directory		Full directory path to extract into.
    		 *	@param	array		$items						Mapping of what to extract and to what
    		 *	@return	bool									true on success (all extractions successful), false otherwise
    		 */
    
    		/**
    		 *	extract_generic_full()
    		 *
    		 *	Extracts the contents of a zip file to the specified directory using the best unzip methods possible.
    		 *
    		 *	@param	string		$zip_file					Full path & filename of ZIP file to extract from.
    		 *	@param	string		$destination_directory		Full directory path to extract into.
    		 *	@return	bool									true on success, false otherwise
    		 */
    
    		/**
    		 *	extract_generic_selected()
    		 *
    		 *	Extracts the contents of a zip file to the specified directory using the best unzip methods possible.
    		 *
    		 *	@param	string		$zip_file					Full path & filename of ZIP file to extract from.
    		 *	@param	string		$destination_directory		Full directory path to extract into.
    		 *	@param	array		$items						Mapping of what to extract and to what
    		 *	@return	bool									true on success (all extractions successful), false otherwise
    		 */
    
    		/**
    		 *	file_exists()
    		 *	
    		 *	Tests whether a file (with path) exists in the given zip file
    		 *	If leave_open is true then the zip object will be left open for faster checking for subsequent files within this zip
    		 *  Note: this is ignored here because it has no meaning in the use of the unzip command
    		 *	
    		 *	@param		string	$zip_file		The zip file to check
    		 *	@param		string	$locate_file	The file to test for
    		 *	@param		bool	$leave_open		Optional: True if the zip file should be left open
    		 *	@return		bool/array				True if the file is found in the zip and false if not, array for other problem
    		 *
    		 */
    
    		/**
    		 *	file_exists_generic()
    		 *	
    		 *	Tests whether a file (with path) exists in the given zip file
    		 *	
    		 *	@param		string	$zip_file		The zip file to check
    		 *	@param		string	$locate_file	The file to test for
    		 *	@return		bool/array				True if the file is found in the zip and false if not, array for other problem
    		 *
    		 */
    
    		/*	get_file_list()
    		 *	
    		 *	Get an array of all files in a zip file with some file properties.
    		 *	
    		 *	@param		string		$zip_file	The file to list the content of
    		 *	@return		bool|array				false on failure, otherwise array of file properties (may be empty)
    		 */
    
    		/*	get_file_list_generic()
    		 *	
    		 *	Get an array of all files in a zip file with some file properties.
    		 *	
    		 *	@param		string		$zip_file	The file to list the content of
    		 *	@return		bool|array				false on failure, otherwise array of file properties (may be empty)
    		 */
    
    		/*	set_comment()
    		 *	
    		 *	Retrieve archive comment.
    		 *	
    		 *	@param		string			$zip_file		Filename of archive to set comment on.
    		 *	@param		string			$comment		Comment to apply to archive.
    		 *	@return		bool							true on success, otherwise false.
    		 */
    
    		/*	set_comment_windows()
    		 *	
    		 *	Retrieve archive comment.
    		 *	
    		 *	@param		string			$zip_file		Filename of archive to set comment on.
    		 *	@param		string			$comment		Comment to apply to archive.
    		 *	@return		bool							true on success, otherwise false.
    		 */
    
    		/*	set_comment_linux()
    		 *	
    		 *	Retrieve archive comment.
    		 *	
    		 *	@param		string			$zip_file		Filename of archive to set comment on.
    		 *	@param		string			$comment		Comment to apply to archive.
    		 *	@return		bool							true on success, otherwise false.
    		 */
    
    		/*	get_comment()
    		 *	
    		 *	Retrieve archive comment.
    		 *	
    		 *	@param		string		$zip_file		Filename of archive to retrieve comment from.
    		 *	@return		bool|string					false on failure, Zip comment otherwise.
    		 */
    
    		/*	get_comment_windows()
    		 *	
    		 *	Retrieve archive comment.
    		 *	
    		 *	@param		string		$zip_file		Filename of archive to retrieve comment from.
    		 *	@return		bool|string					false on failure, Zip comment otherwise.
    		 */
    
    		/*	get_comment_linux()
    		 *	
    		 *	Retrieve archive comment.
    		 *	
    		 *	@param		string		$zip_file		Filename of archive to retrieve comment from.
    		 *	@return		bool|string					false on failure, Zip comment otherwise.
    		 */
    

    File: /lib/xzipbuddy/zbzippclzip.php

    /**
     *	pluginbuddy_zbzippclzip Class
     *
     *  Extends the zip capability core class with pclzip specific capability
     *	
     *	Version: 1.0.0
     *	Author:
     *	Author URI:
     *
     *	@param		$parent		object		Optional parent object which can provide functions for reporting, etc.
     *	@return		null
     *
     */
    
    	/**
    	 *	pluginbuddy_PclZip Class
    	 *
    	 *	Wrapper for PclZip to encapsulate the process of loading the PclZip library (if not
    	 *	already loaded, which it shouldn't be generally) and also surrounding method calls
    	 *	with the unpleasant workaround for the mbstring issue where things may fail because
    	 *	PclZip is using string functions to process binary data and if the string functions
    	 *	are overloaded with the multi-byte versions the processing can (probably will) fail.
    	 *
    	 *	@param	string	$zip_filename	The name of the zip file that will be managed
    	 *	@return	null
    	 *
    	 */
    

    Class: pluginbuddy_PclZip

            /**
             * The created PclZip object if it can be created
             * 
             * @var $_za 	object
             */
    
    		/**
    		 *	__construct()
    		 *	
    		 *	Default constructor.
    		 *	This is used to try and load the PclZip library and then create an instance of
    		 *	an archive with that. If the library cannot be made available then an exception
    		 *	is thrown and that is handled by the caller.
    		 *	TODO: Consider having a "suppress warnings" parameter to determine whether methods
    		 *	should be invoked with warnings suppressed or not. For is_available() usage we would
    		 *	want to so as not to potentially flood the PHP error log. For other functions that
    		 *	are not called frequently we might not want to suppress the warnings.
    		 *	
    		 *	@param		string	$zip_filename	The name of the zip file that will be managed
    		 *	@return		null
    		 *
    		 */
    
    		/**
    		 *	__destruct()
    		 *	
    		 *	Default destructor.
    		 *	
    		 *	@return		null
    		 *
    		 */
    
    		/**
    		 *	__call()
    		 *	
    		 *	Magic method intercepting calls to unknown methods. This allows us to intercept
    		 *	all method calls and add additional processing
    		 *	
    		 *	@param		string	$method		The name of the intercepted method
    		 *	@param		array	$arguments	Array of the arguments associated with the method call
    		 *	@return		mixed	$result		Whatever the invoked wrapper method call returns
    		 *
    		 */
    
    	/**
    	 *	pb_backupbuddy_pclzip_helper Class
    	 *
    	 *	Extends the parent pb_backupbuddy_zip_helper class for the pclzip method.
    	 *	We need a single instance of this class with a static method to get the
    	 *	instance that can be called in the pclzip callbacks and then from within
    	 *	the callbacks the non-static class methods can be called on the instance.
    	 *	So conventional usage would be to do a new to get an instance of the
    	 *	class and then the callback can call the static function to get that instance
    	 *	and the object can also be called as usual. Equally the static function could
    	 *	be called and have it actually create the instance and if we need it later
    	 *	outside of pclzip we can call the static function to get the instance.
    	 *
    	 */
    

    Class: pb_backupbuddy_pclzip_helper extends pb_backupbuddy_zip_helper

            /**
             * Our object instance
             * 
             * @var $_instance 	object
             */
    
    		/**
    		 *	__construct()
    		 *	
    		 *	Default constructor.
    		 *	Record our own instance and then use the parent constructor.
    		 *	
    		 *	@return		none
    		 *
    		 */
    
    		/**
    		 *	__destruct()
    		 *	
    		 *	Default destructor.
    		 *	Nullify our own instance and then use the parent destructor.
    		 *	
    		 *	@return		none
    		 *
    		 */
    
    		/**
    		 * 
    		 *	get_instance()
    		 *
    		 *	If the object is already created then simply return the instance else
    		 *	create an object and return the instance.
    		 *	Currently only one instance is allowed at a time but currently there is
    		 *	no scenario that would require more than one at any time.
    		 *
    		 *	@return		object					This object instance	
    		 *
    		 */
    
    		/**
    		 * 
    		 *	event_handler()
    		 *
    		 *	Callback function from pclzip to call appropriate event handler function.
    		 *
    		 *	@param		int			$event		The callback event identifier
    		 *	@param		reference	&$header	The element header array
    		 *	@return		bool					True|False based on handler function result	
    		 *
    		 */
    
    		/**
    		 * 
    		 *	element_added()
    		 *
    		 *	Callback function handler for after an element has been added.
    		 *	Only process the element if it has been added (header status is 'ok')
    		 *	Invoke periodic functions for usage minitoring, etc.
    		 *
    		 *	@param		reference	&$header	The element header array
    		 *	@return		bool					True always	
    		 *
    		 */
    
    		/**
    		 * 
    		 *	monitor_activity()
    		 *
    		 *	Keep track of and log progress.
    		 *	Keep track of and log usage data - in particular the user space time used
    		 *	which relates to what is counted against execution time.
    		 *	Optionally handle multi-burst processing by an execution time reset.
    		 *	Optionally handle server tickling by dummy flush to server.
    		 *
    		 *	@return		none
    		 *
    		 */
    

    Class: pluginbuddy_zbzippclzip extends pluginbuddy_zbzipcore

            /**
             * method tag used to refer to the method and entities associated with it such as class name
             * 
             * @var $_method_tag 	string
             */
    
            /**
             * This tells us whether this method is regarded as a "compatibility" method
             * 
             * @var bool
             */
    
            /**
             * This tells us the dependencies of this method so they can be check to see if the method can be supported
             * Note: PclZip constructor checks for gzopen function and dies on failure so we may as well pre-empt that
             * 
             * @var array
             */
    
    		/**
    		 * 
    		 * get_method_tag_static()
    		 *
    		 * Get the static method tag in a static context
    		 *
    		 * @return		string	The method tag
    		 *
    		 */
    
    		/**
    		 * 
    		 * get_is_compatibility_method_static()
    		 *
    		 * Get the compatibility method indicator in a static context
    		 *
    		 * @return		bool	True if is a compatibility method
    		 *
    		 */
    
    		/**
    		 * 
    		 * get_method_dependencies_static()
    		 *
    		 * Get the method dependencies array in a static context
    		 *
    		 * @return		array	The dependencies of the method that is requires to be a supported method
    		 *
    		 */
    
    		/**
    		 * 
    		 * check_method_dependencies_static()
    		 *
    		 * Allows additional method dependency checks beyond the standard in a static context
    		 *
    		 * @return		bool	True if additional dependency checks passed
    		 *
    		 */
    
    		/**
    		 *	__construct()
    		 *	
    		 *	Default constructor.
    		 *	
    		 *	@param		reference	&$parent		[optional] Reference to the object containing the status() function for status updates.
    		 *	@return		null
    		 *
    		 */
    
    		/**
    		 *	__destruct()
    		 *	
    		 *	Default destructor.
    		 *	
    		 *	@return		null
    		 *
    		 */
    
    		/**
    		 *	get_method_tag()
    		 *	
    		 *	Returns the (static) method tag
    		 *	
    		 *	@return		string The method tag
    		 *
    		 */
    
    			/**
    		 *	get_is_compatibility_method()
    		 *	
    		 *	Returns the (static) is_compatibility_method boolean
    		 *	
    		 *	@return		bool
    		 *
    		 */
    
    		/**
    		 *	is_available()
    		 *	
    		 *	A function that tests for the availability of the specific method and its available modes. Will test for
    		 *  multiple modes (zip & unzip) and only return false if neither is available. Actual available modes will
    		 *  be indicated in the method attributes.
    		 *
    		 *  Note: in this case as the zip and unzip capabilities are all wrapped up in the same class then if we
    		 *  can zip then we'll assume (for now) that we can unzip as well so attributes are set accordingly.
    		 *	
    		 *	@param		string	$tempdir	Temporary directory to use for any test files (must be writeable)
    		 *	@return		bool				True if the method is available for at least one mode, false otherwise
    		 *
    		 */
    
    		/**
    		 *	create()
    		 *	
    		 *	A function that creates an archive file
    		 *	
    		 *	The $excludes will be a list or relative path excludes
    		 *	
    		 *	@param		string	$zip			Full path & filename of ZIP Archive file to create
    		 *	@param		string	$dir			Full path of directory to add to ZIP Archive file
    		 *	@parame		array	$excludes		List of either absolute path exclusions or relative exclusions
    		 *	@param		string	$tempdir		Full path of directory for temporary usage
    		 *	@return		bool					True if the creation was successful, false otherwise
    		 *
    		 */
    
    		/**
    		 *	extract()
    		 *
    		 *	Extracts the contents of a zip file to the specified directory using the best unzip methods possible.
    		 *	If no specific items given to extract then it's a complete unzip
    		 *
    		 *	@param	string		$zip_file					Full path & filename of ZIP file to extract from.
    		 *	@param	string		$destination_directory		Full directory path to extract into.
    		 *	@param	array		$items						Mapping of what to extract and to what
    		 *	@return	bool									true on success (all extractions successful), false otherwise
    		 */
    
    		/**
    		 *	extract_generic_full()
    		 *
    		 *	Extracts the contents of a zip file to the specified directory using the best unzip methods possible.
    		 *
    		 *	@param	string		$zip_file					Full path & filename of ZIP file to extract from.
    		 *	@param	string		$destination_directory		Full directory path to extract into.
    		 *	@return	bool									true on success, false otherwise
    		 */
    
    		/**
    		 *	extract_generic_selected()
    		 *
    		 *	Extracts the contents of a zip file to the specified directory using the best unzip methods possible.
    		 *
    		 *	@param	string		$zip_file					Full path & filename of ZIP file to extract from.
    		 *	@param	string		$destination_directory		Full directory path to extract into.
    		 *	@param	array		$items						Mapping of what to extract and to what
    		 *	@return	bool									true on success (all extractions successful), false otherwise
    		 */
    
    		/**
    		 *	file_exists()
    		 *	
    		 *	Tests whether a file (with path) exists in the given zip file
    		 *	If leave_open is true then the zip object will be left open for faster checking for subsequent files within this zip
    		 *	
    		 *	@param		string	$zip_file		The zip file to check
    		 *	@param		string	$locate_file	The file to test for
    		 *	@param		bool	$leave_open		Optional: True if the zip file should be left open
    		 *	@return		bool/array				True if the file is found in the zip and false if not, array for other problem
    		 *
    		 */
    
    		/*	get_file_list()
    		 *	
    		 *	Get an array of all files in a zip file with some file properties.
    		 *	
    		 *	@param		string		$zip_file	The file to list the content of
    		 *	@return		bool|array				false on failure, otherwise array of file properties (may be empty)
    		 */
    
    		/*	set_comment()
    		 *	
    		 *	Retrieve archive comment.
    		 *	
    		 *	@param		string			$zip_file		Filename of archive to set comment on.
    		 *	@param		string			$comment		Comment to apply to archive.
    		 *	@return		bool							true on success, otherwise false.
    		 */
    
    		/*	get_comment()
    		 *	
    		 *	Retrieve archive comment.
    		 *	
    		 *	@param		string		$zip_file		Filename of archive to retrieve comment from.
    		 *	@return		bool|string					false on failure, Zip comment otherwise.
    		 */
    

    File: /lib/xzipbuddy/zbzipproc.php

    /**
     *	pluginbuddy_zbzipproc Class
     *
     *  Extends the zip capability core class with proc specific capability
     *	
     *	Version: 1.0.0
     *	Author:
     *	Author URI:
     *
     *	@param		$parent		object		Optional parent object which can provide functions for reporting, etc.
     *	@return		null
     *
     */
    

    Class: pluginbuddy_zbzipproc extends pluginbuddy_zbzipcore

            /**
             * method tag used to refer to the method and entities associated with it such as class name
             * 
             * @var string
             */
    
            /**
             * This tells us whether this method is regarded as a "compatibility" method
             * 
             * @var bool
             */
    
            /**
             * This tells us the dependencies of this method so they can be check to see if the method can be supported
             * 
             * @var array
             */
    
    		/**
    		 * 
    		 * get_method_tag_static()
    		 *
    		 * Get the static method tag in a static context
    		 *
    		 * @return		string	The method tag
    		 *
    		 */
    
    		/**
    		 * 
    		 * get_is_compatibility_method_static()
    		 *
    		 * Get the compatibility method indicator in a static context
    		 *
    		 * @return		bool	True if is a compatibility method
    		 *
    		 */
    
    		/**
    		 * 
    		 * get_method_dependencies_static()
    		 *
    		 * Get the method dependencies array in a static context
    		 *
    		 * @return		array	The dependencies of the method that is requires to be a supported method
    		 *
    		 */
    
    		/**
    		 * 
    		 * check_method_dependencies_static()
    		 *
    		 * Allows additional method dependency checks beyond the standard in a static context
    		 *
    		 * @return		bool	True if additional dependency checks passed
    		 *
    		 */
    
    		/**
    		 *	__construct()
    		 *	
    		 *	Default constructor.
    		 *	
    		 *	@param		reference	&$parent		[optional] Reference to the object containing the status() function for status updates.
    		 *	@return		null
    		 *
    		 */
    
    		/**
    		 *	__destruct()
    		 *	
    		 *	Default destructor.
    		 *	
    		 *	@return		null
    		 *
    		 */
    
    		/**
    		 *	get_method_tag()
    		 *	
    		 *	Returns the (static) method tag
    		 *	
    		 *	@return		string The method tag
    		 *
    		 */
    
    		/**
    		 *	get_is_compatibility_method()
    		 *	
    		 *	Returns the (static) is_compatibility_method boolean
    		 *	
    		 *	@return		bool
    		 *
    		 */
    
    		/**
    		 *	get_command_path()
    		 *	
    		 *	This returns the path for the requested command from the method details
    		 *	If not found then will return empty string which is the same as if the
    		 *	command is being accessed through PATH
    		 *	
    		 *	@return		string				Path for command, trimmed - may be empty
    		 *
    		 */
    
    		/**
    		 *	set_zip_version()
    		 *	
    		 *	This sets the zip version information in the method details
    		 *	Note: pre-v3 zip running "zip -v" will not produce the required output because
    		 *	there is no tty attached (when running through exec() or equivalent), instead
    		 *	it will produce a zip file.Currently we'll just detect that and set the version
    		 *	as 2.0 and not set the info.
    		 *	TODO: We could parse the zip file to get the version but also considering doing
    		 *	that in the is_available() test where we already created a zip file.
    		 *	TODO: Consider testing if method can zip and only then run the test
    		 *	TODO: This needs refactoring to make it cleaner
    		 *	
    		 *	@param		int		$major		Value to use if none found or override true
    		 *	@param		int		$minor		Value to use if none found or override true
    		 *	@param		bool	$override	True to use passed in value(s) regardless
    		 *	@return		object				This object reference
    		 *
    		 */
    
    		/**
    		 *	get_zip_version()
    		 *	
    		 *	This gets the zip version as an array of major/minor or returns false if not known
    		 *	TODO: Pass parameter to specify what format to return in
    		 *	
    		 *	@return		array|bool				Returns array(major, minor) or false if not known
    		 *
    		 */
    
    		/**
    		 *	set_unzip_version()
    		 *	
    		 *	This sets the zip version information in the method details
    		 *	TODO: This needs refactoring to make it cleaner
    		 *	
    		 *	@param		int		$major		Value to use if none found or override true
    		 *	@param		int		$minor		Value to use if none found or override true
    		 *	@param		bool	$override	True to use passed in value(s) regardless
    		 *	@return		object				This object reference
    		 *
    		 */
    
    		/**
    		 *	get_unzip_version()
    		 *	
    		 *	This gets the unzip version as an array of major/minor or returns false if not known
    		 *	TODO: Pass parameter to specify what format to return in
    		 *	
    		 *	@return		array|bool				Returns array(major, minor) or false if not known
    		 *
    		 */
    
    		/**
    		 *	get_zip_supports_logfile()
    		 *	
    		 *	This returns true if the zip in use is able to support logfile usage for
    		 *	logging progress of zip operation
    		 *	
    		 *	@return		bool				True if logfile supported, otherwise false
    		 *
    		 */
    
    		/**
    		 *	is_available()
    		 *	
    		 *	A function that tests for the availability of the specific method and its available modes. Will test for
    		 *  multiple modes (zip & unzip) and only return false if neither is available. Actual available modes will
    		 *  be indicated in the method attributes.
    		 *
    		 *  Note: in this case as the zip and unzip capabilities are provided by external commands we need to test
    		 *  for the availability of both of them and set attributes accordingly
    		 *	
    		 *	@param		string	$tempdir	Temporary directory to use for any test files (must be writeable)
    		 *	@return		bool				True if the method is available for at least one mode, false otherwise
    		 *
    		 */
    
    		/**
    		 *	is_available_windows()
    		 *	
    		 *	A function that tests for the availability of the specific method and its available modes. Will test for
    		 *  multiple modes (zip & unzip) and only return false if neither is available. Actual available modes will
    		 *  be indicated in the method attributes.
    		 *	
    		 *	@param		string	$tempdir	Temporary directory to use for any test files (must be writeable)
    		 *	@return		bool				True if the method is available for at least one mode, false otherwise
    		 *
    		 */
    
    		/**
    		 *	is_available_linux()
    		 *	
    		 *	A function that tests for the availability of the specific method and its available modes. Will test for
    		 *  multiple modes (zip & unzip) and only return false if neither is available. Actual available modes will
    		 *  be indicated in the method attributes.
    		 *	
    		 *	@param		string	$tempdir	Temporary directory to use for any test files (must be writeable)
    		 *	@return		bool				True if the method is available for at least one mode, false otherwise
    		 *
    		 */
    
    		/**
    		 *	create()
    		 *	
    		 *	A function that creates an archive file
    		 *	Always cleans up after itself
    		 *	
    		 *	The $excludes will be a list or relative path excludes if the $listmaker object is NULL otehrwise
    		 *	will be absolute path excludes and relative path excludes can be had from the $listmaker object
    		 *	
    		 *	@param		string	$zip			Full path & filename of ZIP Archive file to create
    		 *	@param		string	$dir			Full path of directory to add to ZIP Archive file
    		 *	@parame		array	$excludes		List of either absolute path exclusions or relative exclusions
    		 *	@param		string	$tempdir		Full path of directory for temporary usage
    		 *	@param		object	$listmaker		The object from which we can get an inclusions list
    		 *	@return		bool					True if the creation was successful, false otherwise
    		 *
    		 */
    
    		/**
    		 *	create_windows()
    		 *	
    		 *	A function that creates an archive file on Linux
    		 *	Always cleans up after itself
    		 *
    		 *	The $excludes will be a list or relative path excludes if the $listmaker object is NULL otehrwise
    		 *	will be absolute path excludes and relative path excludes can be had from the $listmaker object
    		 *	
    		 *	@param		string	$zip			Full path & filename of ZIP Archive file to create
    		 *	@param		string	$dir			Full path of directory to add to ZIP Archive file
    		 *	@parame		array	$excludes		List of either absolute path exclusions or relative exclusions
    		 *	@param		string	$tempdir		Full path of directory for temporary usage
    		 *	@param		object	$listmaker		The object from which we can get an inclusions list
    		 *	@return		bool					True if the creation was successful, false otherwise
    		 *
    		 */
    
    		/**
    		 *	create_linux()
    		 *	
    		 *	A function that creates an archive file on Linux
    		 *	Always cleans up after itself
    		 *
    		 *	The $excludes will be a list or relative path excludes if the $listmaker object is NULL otehrwise
    		 *	will be absolute path excludes and relative path excludes can be had from the $listmaker object
    		 *	
    		 *	@param		string	$zip			Full path & filename of ZIP Archive file to create
    		 *	@param		string	$dir			Full path of directory to add to ZIP Archive file
    		 *	@parame		array	$excludes		List of either absolute path exclusions or relative exclusions
    		 *	@param		string	$tempdir		Full path of directory for temporary usage
    		 *	@param		object	$listmaker		The object from which we can get an inclusions list
    		 *	@return		bool					True if the creation was successful, false otherwise
    		 *
    		 */
    
    		/**
    		 *	extract()
    		 *
    		 *	Extracts the contents of a zip file to the specified directory using the best unzip methods possible.
    		 *	If no specific items given to extract then it's a complete unzip
    		 *
    		 *	@param	string		$zip_file					Full path & filename of ZIP file to extract from.
    		 *	@param	string		$destination_directory		Full directory path to extract into.
    		 *	@param	array		$items						Mapping of what to extract and to what
    		 *	@return	bool									true on success (all extractions successful), false otherwise
    		 */
    
    		/**
    		 *	extract()
    		 *
    		 *	Extracts the contents of a zip file to the specified directory using the best unzip methods possible.
    		 *
    		 *	@param	string		$zip_file					Full path & filename of ZIP file to extract from.
    		 *	@param	string		$destination_directory		Full directory path to extract into.
    		 *	@return	bool									true on success, false otherwise
    		 */
    
    		/**
    		 *	extract_generic_selected()
    		 *
    		 *	Extracts the contents of a zip file to the specified directory using the best unzip methods possible.
    		 *
    		 *	@param	string		$zip_file					Full path & filename of ZIP file to extract from.
    		 *	@param	string		$destination_directory		Full directory path to extract into.
    		 *	@param	array		$items						Mapping of what to extract and to what
    		 *	@return	bool									true on success (all extractions successful), false otherwise
    		 */
    
    		/**
    		 *	file_exists()
    		 *	
    		 *	Tests whether a file (with path) exists in the given zip file
    		 *	If leave_open is true then the zip object will be left open for faster checking for subsequent files within this zip
    		 *	
    		 *	@param		string	$zip_file		The zip file to check
    		 *	@param		string	$locate_file	The file to test for
    		 *	@param		bool	$leave_open		Optional: True if the zip file should be left open
    		 *	@return		bool/array				True if the file is found in the zip and false if not, array for other problem
    		 *
    		 */
    
    		/*	get_file_list()
    		 *	
    		 *	Get an array of all files in a zip file with some file properties.
    		 *	
    		 *	@param		string		$zip_file	The file to list the content of
    		 *	@return		bool|array				false on failure, otherwise array of file properties (may be empty)
    		 */
    
    		/*	set_comment()
    		 *	
    		 *	Retrieve archive comment.
    		 *	
    		 *	@param		string			$zip_file		Filename of archive to set comment on.
    		 *	@param		string			$comment		Comment to apply to archive.
    		 *	@return		bool|string						true on success, error message otherwise.
    		 */
    
    		/*	get_comment()
    		 *	
    		 *	Retrieve archive comment.
    		 *	
    		 *	@param		string		$zip_file		Filename of archive to retrieve comment from.
    		 *	@return		bool|string					false on failure, Zip comment otherwise.
    		 */
    

    File: /lib/xzipbuddy/zbzipziparchive.php

    /**
     *	pluginbuddy_zbzipziparchive Class
     *
     *  Extends the zip capability core class with proc specific capability
     *	
     *	Version: 1.0.0
     *	Author:
     *	Author URI:
     *
     *	@param		$parent		object		Optional parent object which can provide functions for reporting, etc.
     *	@return		null
     *
     */
    
    	/**
    	 *	pluginbuddy_ZipArchive Class
    	 *
    	 *	Wrapper for ZipArchive to handle error situations and provide additional functions
    	 *
    	 *	@param	none
    	 *	@return	null
    	 *
    	 */
    

    Class: pluginbuddy_ZipArchive

            /**
             * The created ZipArchive object if it can be created
             * 
             * @var $_za 	object
             */
    
    		/**
    		 *	__construct()
    		 *	
    		 *	Default constructor.
    		 *	TODO: Consider having a "suppress warnings" parameter to determine whether methods
    		 *	should be invoked with warnings suppressed or not. For is_available() usage we would
    		 *	want to so as not to potentially flood the PHP error log. For other functions that
    		 *	are not called frequently we might not want to suppress the warnings.
    		 *	
    		 *	@param		none
    		 *	@return		null
    		 *
    		 */
    
    		/**
    		 *	__destruct()
    		 *	
    		 *	Default destructor.
    		 *	
    		 *	@return		null
    		 *
    		 */
    
    		/**
    		 *	__call()
    		 *	
    		 *	Magic method intercepting calls to unknown methods. This allows us to intercept
    		 *	all method calls and add additional processing
    		 *	
    		 *	@param		string	$method		The name of the intercepted method
    		 *	@param		array	$arguments	Array of the arguments associated with the method call
    		 *	@return		mixed	$result		Whatever the invoked wrapper method call returns
    		 *
    		 */
    
    		/**
    		 *	__get()
    		 *	
    		 *	Magic method intercepting calls to unknown properties. This means we have to
    		 *	provide the properties of the wrapped object but that's ok as there aren't many.
    		 *	Note: Maybe we can get the object properties and automate this?
    		 *	
    		 *	@param		string	$name		The name of the property
    		 *	@return		mixed	$result		Whatever the wrapped object property returns
    		 *
    		 */
    
    		/**
    		 *	errorInfo()
    		 *	
    		 *	Translate a ZipArchive error code into an informative string description
    		 *	and returns the string. An error number can be passed in, otherwise will
    		 *	get the status property and use that (if not indicating no error) or the
    		 *	statusSys property and use that (if not indicating no error). In the case
    		 *	of the statusSys property will get the error string from the getStatusString()
    		 *	method, otherwise for status property or passed in value use the mappings
    		 *	below.
    		 *	Note: This does mean that a statusSys error no should not be passed in
    		 *	presently. In future may choose to use an offset mapping to handle that.
    		 *	
    		 *	@param		integer	$error	Optional: The error code
    		 *	@param		bool	$full	Optional: True to provide a name/value/description string
    		 *	@return		string			Informative error string
    		 *
    		 */
    

    Class: pluginbuddy_zbzipziparchive extends pluginbuddy_zbzipcore

            /**
             * method tag used to refer to the method and entities associated with it such as class name
             * 
             * @var $_method_tag 	string
             */
    
            /**
             * This tells us whether this method is regarded as a "compatibility" method
             * 
             * @var bool
             */
    
            /**
             * This tells us the dependencies of this method so they can be check to see if the method can be supported
             * 
             * @var array
             */
    
    		/**
    		 * 
    		 * get_method_tag_static()
    		 *
    		 * Get the static method tag in a static context
    		 *
    		 * @return		string	The method tag
    		 *
    		 */
    
    		/**
    		 * 
    		 * get_is_compatibility_method_static()
    		 *
    		 * Get the compatibility method indicator in a static context
    		 *
    		 * @return		bool	True if is a compatibility method
    		 *
    		 */
    
    		/**
    		 * 
    		 * get_method_dependencies_static()
    		 *
    		 * Get the method dependencies array in a static context
    		 *
    		 * @return		array	The dependencies of the method that is requires to be a supported method
    		 *
    		 */
    
    		/**
    		 *	__construct()
    		 *	
    		 *	Default constructor.
    		 *	
    		 *	@param		reference	&$parent		[optional] Reference to the object containing the status() function for status updates.
    		 *	@return		null
    		 *
    		 */
    
    		/**
    		 *	__destruct()
    		 *	
    		 *	Default destructor.
    		 *	
    		 *	@return		null
    		 *
    		 */
    
    		/**
    		 *	get_method_tag()
    		 *	
    		 *	Returns the (static) method tag
    		 *	
    		 *	@return		string The method tag
    		 *
    		 */
    
    		/**
    		 *	get_is_compatibility_method()
    		 *	
    		 *	Returns the (static) is_compatibility_method boolean
    		 *	
    		 *	@return		bool
    		 *
    		 */
    
    		/**
    		 *	is_available()
    		 *	
    		 *	A function that tests for the availability of the specific method and its available modes. Will test for
    		 *  multiple modes (zip & unzip) and only return false if neither is available. Actual available modes will
    		 *  be indicated in the method attributes.
    		 *
    		 *  Note: in this case as the zip and unzip capabilities are all wrapped up in the same class then if we
    		 *  can zip then we'll assume (for now) that we can unzip as well so attributes are set accordingly.
    		 *	
    		 *	@param		string	$tempdir	Temporary directory to use for any test files (must be writeable)
    		 *	@return		bool				True if the method is available for at least one mode, false otherwise
    		 *
    		 */
    
    		/**
    		 *	create()
    		 *	
    		 *	A function that creates an archive file
    		 *	
    		 *	The $excludes will be a list or relative path excludes if the $listmaker object is NULL otehrwise
    		 *	will be absolute path excludes and relative path excludes can be had from the $listmaker object
    		 *	
    		 *	@param		string	$zip			Full path & filename of ZIP Archive file to create
    		 *	@param		string	$dir			Full path of directory to add to ZIP Archive file
    		 *	@parame		array	$excludes		List of either absolute path exclusions or relative exclusions
    		 *	@param		string	$tempdir		Full path of directory for temporary usage
    		 *	@param		object	$listmaker		The object from which we can get an inclusions list
    		 *	@return		bool					True if the creation was successful, false otherwise
    		 *
    		 */
    
    		/**
    		 *	extract()
    		 *
    		 *	Extracts the contents of a zip file to the specified directory using the best unzip methods possible.
    		 *	If no specific items given to extract then it's a complete unzip
    		 *
    		 *	@param	string		$zip_file					Full path & filename of ZIP file to extract from.
    		 *	@param	string		$destination_directory		Full directory path to extract into.
    		 *	@param	array		$items						Mapping of what to extract and to what
    		 *	@return	bool									true on success (all extractions successful), false otherwise
    		 */
    
    		/**
    		 *	extract_generic_full()
    		 *
    		 *	Extracts the contents of a zip file to the specified directory using the best unzip methods possible.
    		 *
    		 *	@param	string		$zip_file					Full path & filename of ZIP file to extract from.
    		 *	@param	string		$destination_directory		Full directory path to extract into.
    		 *	@return	bool									true on success, false otherwise
    		 */
    
    		/**
    		 *	extract_generic_selected()
    		 *
    		 *	Extracts the contents of a zip file to the specified directory using the best unzip methods possible.
    		 *
    		 *	@param	string		$zip_file					Full path & filename of ZIP file to extract from.
    		 *	@param	string		$destination_directory		Full directory path to extract into.
    		 *	@param	array		$items						Mapping of what to extract and to what
    		 *	@return	bool									true on success (all extractions successful), false otherwise
    		 */
    
    		/**
    		 *	file_exists()
    		 *	
    		 *	Tests whether a file (with path) exists in the given zip file
    		 *	If leave_open is true then the zip object will be left open for faster checking for subsequent files within this zip
    		 *	
    		 *	@param		string	$zip_file		The zip file to check
    		 *	@param		string	$locate_file	The file to test for
    		 *	@param		bool	$leave_open		Optional: True if the zip file should be left open
    		 *	@return		bool/array				True if the file is found in the zip and false if not, array for other problem
    		 *
    		 */
    
    		/*	get_file_list()
    		 *	
    		 *	Get an array of all files in a zip file with some file properties.
    		 *	
    		 *	@param		string		$zip_file	The file to list the content of
    		 *	@return		bool|array				false on failure, otherwise array of file properties (may be empty)
    		 */
    
    		/*	set_comment()
    		 *	
    		 *	Retrieve archive comment.
    		 *	
    		 *	@param		string			$zip_file		Filename of archive to set comment on.
    		 *	@param		string			$comment		Comment to apply to archive.
    		 *	@return		bool							true on success, otherwise false.
    		 */
    
    		/*	get_comment()
    		 *	
    		 *	Retrieve archive comment.
    		 *	
    		 *	@param		string		$zip_file		Filename of archive to retrieve comment from.
    		 *	@return		bool|string					false on failure, Zip comment otherwise.
    		 */
    

    File: /lib/xzipbuddy/zipbuddy.php

    /**
     *	pluginbuddy_zipbuddy Class (Experimental)
     *
     *	Handles zipping and unzipping, using the best methods available and falling back to worse methods
     *	as needed for compatibility. Allows for forcing compatibility modes.
     *	
     *	Version: 1.0.0
     *	Author: 
     *	Author URI: 
     *
     *
     */
    

    Class: pluginbuddy_zipbuddy

            /**
             * The plugin path for this plugin
             * 
             * @var string
             */
    
            /**
             * The path of the temporary directory that can be used for creating files and stuff
             * 
             * @var string
             */
    
            /**
             * The list of zip methods that are requested to be used
             * 
             * @var array of string
             */
    
            /**
             * The mode which the object is being created for
             * Note: This is now ignored as an object is instantiated for both zip & unzip services
             * 
             * @var string
             */
    
            /**
             * Status message array used when calling other methods to get status information back
             * 
             * @var array of string
             */
    
            /**
             * The list of zip methods that are to be used or are available
             * Had to make this public for now because something accesses it directly - bad karma
             * 
             * @var array of string
             */
    
            /**
             * The details of the various zip methods that are available
             * Have to make this a separate array indexed by the method tag. Ideally would be combined
             * with the zip methods array but that would involve more general changes elsewhere so that
             * refactoring can be done later - main problem is the direct access to the zip methods
             * array that is made rather than through a function.
             * 
             * @var array of array of array
             */
    
            /**
             * The list of zip methods that are supported, i.e., there is a supporting class defined
             * 
             * @var array of string
             */
    
            /**
             * Whether or not we can call a status calback
             * 
             * @var bool
             */
    
            /**
             * Object->method array for status function
             * 
             * @var array
             */
    
            /**
             * The directory name that we are loaded from (not: not path)
             * 
             * @var string
             */
    
            /**
             * Whether we are loaded as the experimental zipbuddy
             * 
             * @var bool
             */
    
            /**
             * The name of the zip methods transient will be dependent on if we are standard or experimental
             * 
             * @var string
             */
    
            /**
             * The Server API that is in use
             * 
             * @var string
             */
    
    		/**
    		 * 
    		 * get_transient_names_static()
    		 *
    		 * Get the transient name(s) that may be in use
    		 *
    		 * @return		array	The transient name(s)
    		 *
    		 */
    
    		/**
    		 *	__construct()
    		 *	
    		 *	Default constructor.
    		 *	
    		 *	@param		string		$temp_dir		The path of the temporary directory to use
    		 *	@param		array		$zip_methods	Optional: The set of zip methods requested to use
    		 *	@param		string		$mode			Optional: The zip mode for the object (ignored currently - may be reused?)
    		 *	@return		null
    		 *
    		 */
    
    		/**
    		 *	__destruct()
    		 *	
    		 *	Default destructor.
    		 *	
    		 *	@return		null
    		 *
    		 */
    
    		/**
    		 *	set_sapi_name()
    		 *
    		 *	Sets the sapi name to that given or retrieves from PHP
    		 *	TODO: Extend to also set a sapi id constant based on the name?
    		 *
    		 *	@param	string	$name	A sapi name to set (default empty)
    		 *	@return	object			This object
    		 */
    
    		/**
    		 *	get_sapi_name()
    		 *
    		 *	Returns the previously set sapi name
    		 *
    		 *	@return	string			The stored sapi name
    		 */
    
    		/**
    		 *	set_supported_zip_methods()
    		 *
    		 *	Appends or prepends the method or methods passed to the existing supported methods array
    		 *
    		 *	@param	string/array	$methods	Either a (comma separated) string of methods or an array
    		 *	@param	bool			$append		True if $methods should be appended to existing supported methods
    		 *	@return	bool						True if set succeeded, otherwise false
    		 */
    
    		/**
    		 *	check_method_dependencies()
    		 *
    		 *	Checks the dependencies that a method defines for itself - this may optionally also mean
    		 *	calling a given callback function that allows the method to add it's own very specific checks
    		 *	beyond those that are run as standard.
    		 *
    		 *	@param	string		$class_name		The name of the class to check, needed because this is static checking
    		 *	@return	bool						True if dependency check succeeded, otherwise false
    		 */
    

    Class: )

    Class: ) ) && ( !in_array( $class, $disabled_classes ) ) ) )

    		/**
    		 *	deduce_zip_methods()
    		 *	
    		 *	Returns the array of zip methods that are available (or just the best) filtered by requested methods.
    		 *	Because the available methods don't really change often (rarely once stable) we use a transient
    		 *	which has some defined lifetime so we don't waste time repeating the testing which involves creating
    		 *	objects and processes and files which can be time consuming.
    		 *	The using script can decide to have the transient refreshed by deleting it and then it will be regenerated.
    		 *	Note: There is an included "signature" so that we can detect server or other moves and regenerate.
    		 *	Note: filemtime() is used because this will (should) force the transient to update if the plugin is
    		 *	updated because the file modification time of the file will change because the plugin is installed in a
    		 *	different disk location with newly written files - the same should apply if the site is restored/migrated.
    		 *	
    		 *	@param		array	Array reference for the deduced zip methods
    		 *	@param		array	Arry reference for the details of the deduced methods
    		 *	@param		array	Flat array of requested (preferred) zip methods
    		 *	@param		bool	True if only the best available method wanted
    		 *	@param		string	Which zip mode being tested
    		 *	@return		bool	True if methods are available, False otherwise
    		 *
    		 */
    
    		/**
    		 *	use_cached_methods()
    		 *	
    		 *	Returns whether conditions/configuration indicate cached methods should be used
    		 *	Note: Temporarily add the condition for whether get_/set_transient functions
    		 *	exist - if not (meaning we are probably running under importbuddy) then we also
    		 *	skip caching. This adds a little time when instantiating because we have to test
    		 *	every time but it's acceptable for now. In the longer term we will have an
    		 *	alternative way to handle the transient data outside of WordPress.
    		 *	
    		 *	@return		bool	true if use cached methods, false otherwise
    		 *
    		 */
    
    		/**
    		 *	get_zip_methods()
    		 *	
    		 *	Returns the array of zip methods previously deduced
    		 *	
    		 *	@return		array	Flat array of zip methods (could be empty)
    		 *
    		 */
    
    		/**
    		 *	set_zip_methods()
    		 *	
    		 *	Resets the zip methods based on new criteria and returns the array of zip methods
    		 *	
    		 *	@param		array	$requested	Flat array of requested (preferred) zip methods
    		 *	@param		bool	$best_only	Optional: True if only the best available method wanted
    		 *	@return		object				This object
    		 *
    		 */
    
    		/**
    		 *	refresh_zip_methods()
    		 *
    		 *	Refresh the information on the available zip methods
    		 *	TODO: Perhaps the transient could be deleted here rather than by the caller?
    		 *
    		 *	@param		array		$zip_methods	Optional: The set of zip methods requested to use
    		 *	@return		object						This object
    		 */
    
    		/**
    		 *	sanitize_excludes()
    		 *
    		 *	Take an exclusion list of directories and/or files and produce a sanitized exclusion list
    		 *	Directories will be recognized by having a trailing directory separator otherwise will be
    		 *	treated as a file (note that here we are working with patterns and not testing to see
    		 *	whether something _is_ a directory or not because we don't necessarily have the full
    		 *	directory path).
    		 *	Note: Anything that contains a wildcard character (* or ?) is ignored as these are not
    		 *	currently supported (and maybe never will across the board). For command zip zip we can
    		 *	consider an option to have these as separate exclusions (and currently we can accomodate
    		 *	then through specifying environment ZIPOPTS.
    		 *
    		 *	@param	array		List of primary exclusions - may be empty
    		 *	@param	array		List of secondary exclusions - may be empty
    		 *	@param	string		The base directory to be used if normalizing
    		 *
    		 *	@return	mixed		array on success, false otherwise
    		 */
    
    		/**
    		 *	get_available_zip_methods()
    		 *	
    		 *	Returns the array of zip methods that are available for the mode of this object
    		 *	Libraries must have been loaded already
    		 *	
    		 *	@param		array	The supported zip methods
    		 *	@param		array	The array which will hold the available methods
    		 *	@param		array	The array that will hold the available methods attributes (method tag is key)
    		 *	@return		bool	True if methods available, False otherwise
    		 *
    		 */
    
    		/**
    		 *	get_compatibility_zip_methods()
    		 *	
    		 *	Returns the array of zip methods that are regarded as "compatibility" methods
    		 *	Libraries must have been loaded already
    		 *	
    		 *	@return		array	Flat array of zip methods (could be empty)
    		 *
    		 */
    
    		/**
    		 *	get_best_zip_methods()
    		 *	
    		 *	Returns the array of best zip method(s)
    		 *	For now we assume only one "best" method as being the first method in the list
    		 *	that has the requested attribute(s).
    		 *	Libraries must have been loaded already
    		 *	
    		 *	@param		array	$attributes	Array of attributes to check method supports
    		 *	@return		array				Flat array of zip methods (could be empty)
    		 *
    		 */
    
    		/**
    		 *	add_directory_to_zip()
    		 *
    		 *	Adds a directory to a new or existing (TODO: not yet available) ZIP file.
    		 *
    		 *	@param	string				Full path & filename of ZIP file to create.
    		 *	@param	string				Full directory to add to zip file.
    		 *	@param	array( string )		Array of strings of paths/files to exclude from zipping
    		 *	@param	string				Full directory path to directory to temporarily place ZIP
    		 *	@param	boolean				True: only use PCLZip. False: try all available
    		 *
    		 *	@return						true on success, false otherwise
    		 *
    		 */
    
    		/**
    		 *	unzip()
    		 *
    		 *	Extracts the contents of a zip file to the specified directory using the best unzip methods possible.
    		 *
    		 *	@param	string		$zip_file					Full path & filename of ZIP file to extract from.
    		 *	@param	string		$destination_directory		Full directory path to extract into.
    		 *	@param	bool|string $force_compatibility_mode	False: use all available, String: use that method
    		 *
    		 *	@return	bool									true on success, false otherwise
    		 */
    
    		 *	array( "dir/*" => "dir/*" )
    		 *	Whereby the directory dir and all it's content (recursively) is extracted to $destination/dir
    		 *	Note: the * is required otherwise you just get an empty directory
    		 *
    		 *	@param	string	$zip_file				Full path & filename of ZIP file to extract from.
    		 *	@param	string	$destination_directory	Full directory path to extract to
    		 *	@param	array	$items					Mapping of what to extract and to what
    		 *
    		 *	@return	bool							true on success (all extractions successful), false otherwise
    		 */
    
    		/**
    		 *	file_exists()
    		 *	
    		 *	Tests whether a file (with path) exists in the given zip file
    		 *	If leave_open is true then the zip object will be left open for faster checking for subsequent files within this zip
    		 *	
    		 *	@param		string	$zip_file		The zip file to check
    		 *	@param		string	$locate_file	The file to test for
    		 *	@param		bool	$leave_open		Optional: True if the zip file should be left open
    		 *	@return		bool					True if the file is found in the zip otherwise false
    		 *
    		 */
    
    		/*	get_file_list()
    		 *	
    		 *	Get an array of all files in a zip file with some file properties.
    		 *	
    		 *	@param		string		$zip_file	The file to list the content of
    		 *	@return		bool|array				false on failure, otherwise array of file properties (may be empty)
    		 */
    
    		/*	set_comment()
    		 *	
    		 *	Retrieve archive comment.
    		 *	
    		 *	@param		string			$zip_file		Filename of archive to set comment on.
    		 *	@param		string|array	$comment		Comment to apply to archive. If array, json encoded. Deliminated with MetaData: and MetaData-End:.
    		 *	@return		bool|string						true on success, error message otherwise.
    		 */
    
    		/*	get_comment()
    		 *	
    		 *	Retrieve archive comment.
    		 *	
    		 *	@param		string				$zip_file		Filename of archive to retrieve comment from.
    		 *	@param		bool				$raw_comment	If true then raw comment field data returned without processing deliminators nor json. Defaults false.
    		 *	@return		bool|string|array					false on failure, Zip comment otherwise. If comment is json encoded array returns array.
    		 */
    
    		/**
    		 *	set_status_callback()
    		 *
    		 *	Sets a reference to the function to call for each status update.
    		 *  Argument must at least be a non-empty array with 2 elements
    		 *
    		 *	@param		array 	$callback	Object->method to call for status updates.
    		 *	@return		null
    		 *
    		 */
    
    		/**
    		 *	status()
    		 *	
    		 *	Invoke status method of parent if it exists
    		 *  Must be at least one parameter otherwise ignore the call
    		 *	
    		 *	@param		string		(Expected) Status message type.
    		 *	@param		string		(Expected) Status message.
    		 *	@return		null
    		 *
    		 */
    

    File: /views/_backup-home.php

    						/* Try to ping server to nudge cron along since sometimes it doesnt trigger as expected. */
    
    		/*
    		width: 20px;
    		padding: 11px;
    		*/
    
    /********** START TABS **********/
    
    /********** END TABS **********/
    

    File: /views/_backup_listing.php

    	/*
    	foreach( $backups as $backup_id => $backup ) {
    		if ( $backup[1] == 'Database' ) {
    			unset( $backups[$backup_id] );
    		}
    	}
    	*/
    
    	/*
    	if ( $listing_mode != 'default' ) {
    		
    		foreach( $backups as &$backup ) {
    			unset( $backup[1] ); // Remove backup type (only full shows for migration).
    			$backup = array_values( $backup );
    		}
    		$backups = array_values( $backups );
    		
    		unset( $columns[1] );
    		$columns = array_values( $columns );
    		
    		
    	}
    	*/
    

    File: /views/_quicksetup.php

    		/* Show success checkmark if pre-filled email looks valid. */
    

    File: /views/_server_tools-database_replace.php

    	/*
    	if ( pb_backupbuddy::_POST( 'maybe_serialized' ) == 'true' ) {
    		pb_backupbuddy::status( 'message', 'Accounting for serialized data based on settings.' );
    		$maybe_serialized = true;
    	} else {
    		pb_backupbuddy::status( 'warning', 'NOT accounting for serialized data based on settings. Use with caution.' );
    		$maybe_serialized = false;
    	}
    	*/
    
    	/*
    	if ( pb_backupbuddy::_POST( 'maybe_serialized' ) == 'true' ) {
    		pb_backupbuddy::status( 'message', 'Accounting for serialized data based on settings.' );
    		$maybe_serialized = true;
    	} else {
    		pb_backupbuddy::status( 'warning', 'NOT accounting for serialized data based on settings. Use with caution.' );
    		$maybe_serialized = false;
    	}
    	*/
    
    		/*
    		

    With advanced options

    */

    File: /views/getting_started.php


    File: /views/migrate-home.php

    			/* Try to ping server to nudge cron along since sometimes it doesnt trigger as expected. */
    

    File: /views/multisite_export.php

    			/* Try to ping server to nudge cron along since sometimes it doesnt trigger as expected. */
    
    	/*
    	function pb_backupbuddy_selectdestination( destination_id, destination_title, callback_data ) {
    		window.location.href = '?page=pb_backupbuddy_backup&custom=remoteclient&destination_id=' + destination_id;
    	}
    	*/
    

    File: /views/scheduling.php

    /*
    echo '
    ';
    print_r( backupbuddy_api::getSchedules() );
    echo '
    '; */
    		/* Generate the remote destination list upon submission. */
    
    		/* Allow deleting of remote destinations from the list. */
    

    File: /views/settings.php


    File: /views/settings/_advanced.php


    File: /views/settings/_database.php

    /*
    IMPORTANT INCOMING VARIABLES (expected to be set before this file is loaded):
    $profile	Index number of profile.
    */
    
    		/* Begin Table Selector */
    

    File: /views/settings/_email.php


    File: /views/settings/_files.php

    /*
    IMPORTANT INCOMING VARIABLES (expected to be set before this file is loaded):
    $profile	Index number of profile.
    */
    
    		/* Begin Directory / File Selector */
    

    File: /views/settings/_filetree.php

    	/* Core Styles - USED BY DIRECTORY EXCLUDER */
    
    	/* File Extensions*/
    

    File: /views/settings/_general.php

    /* BEGIN CONFIGURING PLUGIN SETTINGS FORM */
    
    /* END CONFIGURING PLUGIN SETTINGS FORM */
    

    File: /views/settings/_includeexclude.php

    /*
    print_r( pb_backupbuddy::$options['profiles'][$profile] );
    echo '

    Editing Profile "' . pb_backupbuddy::$options['profiles'][$profile]['title'] . '":

    '; */
    /*	body > div {
    		margin: 0 !important;
    		padding: 0 !important;
    	}
    */
    

    File: /views/settings/_other.php


    File: /views/settings/_profiles-advanced.php

    /*
    IMPORTANT INCOMING VARIABLES (expected to be set before this file is loaded):
    $profile	Index number of profile.
    */
    
    /*
    	$settings_form->add_setting( array(
    		'type'		=>		'radio',
    		'name'		=>		'profiles#' . $profile_id . '#compression',
    		'options'	=>		array( '-1' => 'Use global default', '0' => 'Disable compression', '1' => 'Enable compression' ),
    		'title'		=>		__( 'Enable zip compression', 'it-l10n-backupbuddy' ),
    		'tip'		=>		__( '[Default: enabled] - ZIP compression decreases file sizes of stored backups. If you are encountering timeouts due to the script running too long, disabling compression may allow the process to complete faster.', 'it-l10n-backupbuddy' ),
    		'css'		=>		'',
    		'after'		=>		'
    ' . __('Disable for large sites causing backups to not complete.', 'it-l10n-backupbuddy' ) . '', 'rules' => 'required', ) ); */

    File: /_importbuddy/_importbuddy.php

    /* ImportBuddy Restore & Migration Tool - iThemes.com
     * @author Dustin Bolton
     *
     * ATTENTION: IF YOU ARE READING THIS WHILE TRYING TO LOAD IMPORTBUDDY TO RESTORE YOUR SITE:
     * Your server is not properly handling PHP files. Contact your hosting provider to fix this.
     * Notify them that PHP files are not executing and instead are outputting their code contents.
     *
     */
    
    /**
    *	unpack_importbuddy()
    *
    *	Unpacks required files encoded in importbuddy.php into stand-alone files.
    *
    *	@return		null
    */
    

    File: /controllers/actions.php

    Class: pb_backupbuddy_actions extends pb_backupbuddy_actionscore

    	/* admin_notices()
    	 *
    	 * Run anything in the admin that may output a notice / error. Runs at proper time to not gunk up HTML.
    	 *
    	 */
    
    	/*	wp_update_backup_reminder()
    	 *	
    	 *	Sets up output buffering for reminder to backup before upgrading WordPress.
    	 *	@see wp_update_backup_reminder_dump()
    	 *	
    	 *	@return		null
    	 */
    
    	/*	wp_update_backup_reminder_dump()
    	 *	
    	 *	Output buffer dump callback to output actual reminder text.
    	 *	@see wp_update_backup_reminder()
    	 *	
    	 *	@return		string		Text of notice to display.
    	 */
    
    	/*	content_editor_backup_reminder_on_update()
    	 *	
    	 *	On post / page save injects an additional reminder to remember to back the site up if reminders are enabled.
    	 *	
    	 *	@param		array		$messages		Array of messages to be displayed.
    	 *	@return		array						Returns modified array (or original if this is not the message to edit).
    	 */
    
    	/*	multisite_network_warning()
    	 *	
    	 *	If BackupBuddy is detected to be running on Multisite but not Network Activated this warning is displayed as a reminder.
    	 *	Todo: Only show this on BackupBuddy pages AND plugins.php?
    	 *	
    	 *	@param		
    	 *	@return		
    	 */
    

    File: /controllers/activation.php


    File: /controllers/ajax.php

    Class: pb_backupbuddy_ajax extends pb_backupbuddy_ajaxcore

    	/* importbuddy()
    	 *
    	 * Compile ImportBuddy and stream download to browser.
    	 *
    	 */
    
    	/* repairbuddy()
    	 *
    	 * Compile RepairBuddy and stream download to browser.
    	 *
    	 */
    
    	/* hash()
    	 *
    	 * Generate a hash/CRC for a file at user request.
    	 *
    	 */
    
    	/* destination_picker()
    	 *
    	 * iframe remote destination selector page.
    	 *
    	 */
    
    	/* migration_picker()
    	 *
    	 * Same as destination picker but in migration mode (only limited destinations are available).
    	 *
    	 */
    
    	/*	remote_send()
    	 *	
    	 *	Send backup archive to a remote destination manually. Optionally sends importbuddy.php with files.
    	 *	Sends are scheduled to run in a cron and are passed to the cron.php remote_send() method.
    	 *	
    	 *	@return		null
    	 */
    
    	/*	migrate_status()
    	 *	
    	 *	Gives the current migration status. Echos.
    	 *	
    	 *	@return		null
    	 */
    
    	/*	icicle()
    	 *	
    	 *	Builds and returns graphical directory size listing. Echos.
    	 *	
    	 *	@return		null
    	 */
    
    	/* remote_delete()
    	 *
    	 * description
    	 *
    	 */
    
    	/*	remote_test()
    	 *	
    	 *	Remote destination testing. Echos.
    	 *	
    	 *	@return		null
    	 */
    
    	/*	remote_save()
    	 *	
    	 *	Remote destination saving.
    	 *	
    	 *	@return		null
    	 */
    
    	/*	refresh_site_size()
    	 *	
    	 *	Server info page site size refresh. Echos out the new site size (pretty version).
    	 *	
    	 *	@return		null
    	 */
    
    	/*	refresh_site_size_excluded()
    	 *	
    	 *	Server info page site size (sans exclusions) refresh. Echos out the new site size (pretty version).
    	 *	
    	 *	@return		null
    	 */
    
    	/*	refresh_site_objects()
    	 *	
    	 *	Server info page site objects file count refresh. Echos out the new site file count (pretty version).
    	 *	
    	 *	@return		null
    	 */
    
    	/*	refresh_site_objects_excluded()
    	 *	
    	 *	Server info page site objects file count (sans exclusions) refresh. Echos out the new site file count (exclusions applied) (pretty version).
    	 *	
    	 *	@return		null
    	 */
    
    	/*	refresh_database_size()
    	 *	
    	 *	Server info page database size refresh. Echos out the new site size (pretty version).
    	 *	
    	 *	@return		null
    	 */
    
    	/*	refresh_database_size_excluded()
    	 *	
    	 *	Server info page database size (sans exclusions) refresh. Echos out the new site size (pretty version).
    	 *	
    	 *	@return		null
    	 */
    
    	/*	exclude_tree()
    	 *	
    	 *	Directory exclusion tree for settings page.
    	 *	
    	 *	@return		null
    	 */
    
    	/*	file_tree()
    	 *	
    	 *	File tree for viewing zip contents.
    	 *	
    	 *	@return		null
    	 */
    
    	/*	download_archive()
    	 *	
    	 *	Handle allowing download of archive.
    	 *	
    	 *	@param		
    	 *	@return		
    	 */
    
    	/* phpinfo()
    	 *
    	 * Server info page phpinfo button.
    	 *
    	 */
    
    	/*	set_backup_note()
    	 *	
    	 *	Used for setting a note to a backup archive.
    	 *	
    	 *	@return		null
    	 */
    
    	/* integrity_status()
    	 *
    	 * description
    	 *
    	 */
    
    	/*	db_check()
    	 *	
    	 *	Check database integrity on a specific table. Used on server info page.
    	 *	
    	 *	@return		null
    	 */
    
    	/*	db_repair()
    	 *	
    	 *	Repair specific table. Used on server info page.
    	 *	
    	 *	@return		null
    	 */
    
    	/*	php_max_runtime_test()
    	 *	
    	 *	Tests the ACTUAL PHP maximum runtime of the server by echoing and logging to the status log the seconds elapsed.
    	 *	
    	 *	@param		int		$stop_time_limit		Time after which the test will stop if it is still running.
    	 *	@return		null
    	 */
    
    	/* refresh_zip_methods()
    	 *
    	 * Server Info page refreshing available zip methods. Useful since these are normally cached.
    	 *
    	 */
    
    	/* site_size_listing()
    	 *
    	 * Display site site listing on Server Info page.
    	 *
    	 */
    
    	/* quickstart()
    	 *
    	 * Display quickstart form in a modal.
    	 *
    	 */
    
    	/* quickstart_form()
    	 *
    	 * Saving Quickstart form.
    	 *
    	 */
    
    	/* profile_settings()
    	 *
    	 * View a specified profile's settings.
    	 *
    	 */
    
    	/* restore_file_view()
    	 *
    	 * View contents of a file (text) that is inside a zip archive.
    	 *
    	 */
    
    	/* restore_file_restore()
    	 *
    	 * AJAX page for thickbox for restoring a file from inside an archive..
    	 *
    	 */
    
    	/* email_error_test()
    	 *
    	 * Test sending emails on the Settings page. Tries sending email and dies with "1" on success, else error message string echo'd out and dies.
    	 *
    	 */
    
    	/* remotesend_details()
    	 *
    	 * View log for a remote destination file transfer. Outputs HTML and information and die()'s.
    	 *
    	 */
    
    	/* remotesend_abort()
    	 *
    	 * Abort an in-progress demote destination file transfer. Dies with outputting "1" on success.
    	 *
    	 */
    
    	/* destination_ftp_pathpicker()
    	 *
    	 * description
    	 *
    	 */
    
    	/* rollback()
    	 *
    	 * Displayed in page by iframe via _rollback.php
    	 * Expects GET variables:
    	 * 		step		Numeric step number to run.
    	 * 		archive		Zip archive filename (basename only).
    	 *
    	 */
    
    	/* deploy()
    	 *
    	 * Displayed in page by iframe via deploy.php
    	 * Expects GET variables:
    	 * 		step		Step file to run.
    	 *
    	 */
    
    	/* getMainLog()
    	 *
    	 * Dump out contents of the main log file.
    	 *
    	 */
    

    File: /controllers/cron.php

    Class: pb_backupbuddy_cron extends pb_backupbuddy_croncore

    	/* remote_send()
    	 *
    	 * Advanced cron-based remote file sending.
    	 *
    	 * @param	int		$destination_id		Numeric array key for remote destination to send to.
    	 * @param	string	$backup_file		Full file path to file to send.
    	 * @param	string	$trigger			Trigger of this cron event. Valid values: scheduled, manual
    	 *
    	 */
    
    	/*	destination_send()
    	 *	
    	 *	Straight-forward send file(s) to a destination. Pass full array of destination settings.
    	 *	NOTE: DOES NOT SUPPORT MULTIPART. SEE remote_send() ABOVE!
    	 *	
    	 *	@param		array		$destination_settings		All settings for this destination for this action.
    	 *	@param		array		$files						Array of files to send (full path).
    	 *	@param		string		$send_id					Index ID of remote_sends associated with this send (if any).
    	 *	@return		null
    	 */
    
    	/*	process_remote_copy()
    	 *	
    	 *	Copy a file from a remote destination down to local.
    	 *	
    	 *	@param		$destination_type	string		Slug of destination type.
    	 *	@param		$file				string		Remote file to copy down.
    	 *	@param		$settings			array		Remote destination settings.
    	 *	@return		bool							true on success, else false.
    	 */
    
    	/* process_destination_copy()
    	 *
    	 * Downloads a remote backup and copies it to local server.
    	 *
    	 * @param	$destination_settings		array 		Array of destination settings.
    	 * @param	$remote_file				string		Filename of file to get. Basename only.  Remote directory / paths / buckets / etc should be passed in $destination_settings info.
    	 * @return	bool									true success, else false.
    	 *
    	 */
    

    File: /controllers/dashboard.php

    Class: pb_backupbuddy_dashboard extends pb_backupbuddy_dashboardcore

    	/*	stats()
    	 *	
    	 *	Displays (echos out) an overview of stats into the WordPress Dashboard.
    	 *	
    	 *	@return		null
    	 */
    

    File: /controllers/filters.php

    Class: pb_backupbuddy_filters extends pb_backupbuddy_filterscore

    	/* cron_scheduled()
    	 *
    	 * Adds in additional scheduling intervals into WordPress such as weekly, twice monthly, monthly, etc.
    	 *
    	 * @param	$schedules	array	Array of existing schedule intervals already registered with WordPress. Handles missing param or not being an array.
    	 * @return				array	Array containing old and new schedule intervals.
    	 */
    

    File: /controllers/pages.php

    Class: pb_backupbuddy_pages extends pb_backupbuddy_pagescore


    File: /controllers/shortcodes.php

    Class: pb_backupbuddy_shortcodes extends pluginbuddy_shortcodescore


    File: /controllers/widgets/myslug.php

    /*	Extends \Widget_Widget()
     *	
     *	Each widget must extend the \WP_Widget class (\ is for namespace).
     *	Class name format: pb_{PLUGINSLUG}_widget_{WIDGETSLUG}
     */
    

    Class: pb_backupbuddy_widget_myslug extends WP_Widget

    							/* SLUG */				'myslug',
    
    							/* TITLE0 */			'Carousel',
    
    							/* DESCRIPTION */		array( 'description' => 'Display an image carousel.' )
    
    	/**
    	 *	\WP_Widget::widget() Override
    	 *
    	 *	Function is called when a widget is to be displayed. Use echo to display to page.
    	 *
    	 *	@param		$args		array		?
    	 *	@param		$instance	array		Associative array containing the options saved on the widget form.
    	 *	@return		null
    	 */
    
    	/**
    	 *	\WP_Widget::form() Override
    	 *
    	 *	Displays the widget form on the widget selection page for setting widget settings.
    	 *	Widget defaults are pre-merged into $instance right before this function is called.
    	 *	Use $widget->get_field_id() and $widget->get_field_name() to get field IDs and names for form elements.
    	 *	Anything to display should be echo'd out.
    	 *	@see WP_Widget class
    	 *
    	 *	@param		$instance	array		Associative array containing the options set previously in this form and/or the widget defaults (merged already).
    	 *	@return		null
    	 */
    

    File: /controllers/ajax/_destination_picker.php

    		background: #dbdbdb; /* Old browsers */
    
    background: -moz-radial-gradient(center, ellipse cover, #dbdbdb 0%, #eeeeee 79%); /* FF3.6+ */
    
    background: -webkit-gradient(radial, center center, 0px, center center, 100%, color-stop(0%,#dbdbdb), color-stop(79%,#eeeeee)); /* Chrome,Safari4+ */
    
    background: -webkit-radial-gradient(center, ellipse cover, #dbdbdb 0%,#eeeeee 79%); /* Chrome10+,Safari5.1+ */
    
    background: -o-radial-gradient(center, ellipse cover, #dbdbdb 0%,#eeeeee 79%); /* Opera 12+ */
    
    background: -ms-radial-gradient(center, ellipse cover, #dbdbdb 0%,#eeeeee 79%); /* IE10+ */
    
    background: radial-gradient(ellipse at center, #dbdbdb 0%,#eeeeee 79%); /* W3C */
    
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#dbdbdb', endColorstr='#eeeeee',GradientType=1 ); /* IE6-9 fallback on horizontal gradient */
    
    /*
    pb_backupbuddy::load_script( 'admin.js', true ); // pbframework version due to second param.
    pb_backupbuddy::load_script( 'admin.js' );
    pb_backupbuddy::load_style( 'admin.css', true ); // pbframework version due to second param.
    pb_backupbuddy::load_script( 'tooltip.js', true ); // pbframework version due to second param.
    */
    
    	/* Core Styles - USED BY DIRECTORY EXCLUDER */
    
    	/* File Extensions*/
    

    File: /controllers/ajax/_hash.php


    File: /controllers/help/backup.php


    File: /controllers/help/migrate_restore.php


    File: /controllers/help/scheduling.php


    File: /controllers/help/settings.php


    File: /controllers/pages/-DEL-server_tools.php

    /*	
    // Handles thickbox auto-resizing. Keep at bottom of page to avoid issues.
    if ( !wp_script_is( 'media-upload' ) ) {
    	wp_enqueue_script( 'media-upload' );
    	wp_print_scripts( 'media-upload' );
    }
    */
    

    File: /controllers/pages/_backup-home.php

    /*
    require_once( pb_backupbuddy::plugin_path() . '/classes/live.php' );
    pb_backupbuddy_live::generate_queue();
    */
    

    File: /controllers/pages/_backup-perform.php

    			/* Try to ping server to nudge cron along since sometimes it doesnt trigger as expected. */
    
    	/***** LOOK & FEEL *****/
    
    	/***** HELPER FUNCTIONS *****/
    
    	/***** BACKUP STATUS *****/
    
    			/*
    			array(
    				'title'		=>		__( 'Overview', 'it-l10n-backupbuddy' ),
    				'slug'		=>		'general',
    				'css'		=>		'margin-top: -11px;',
    			),
    			*/
    
    	/*
    	pb_backupbuddy::$ui->start_tab( 'general' );
    	?>
    	
    end_tab(); */

    File: /controllers/pages/_migrate.php

    	/*
    	echo 'source: '	.			$source_path . ' = ' . $source_url		. '
    '; echo 'dest: ' . $destination_path . '
    '; echo 'intersection: ' . $intersection . '
    '; echo '
    ' .				print_r( $source_url_parts, true )		. '
    '; echo 'webroot: ' . $web_root . '
    '; */

    File: /controllers/pages/_remote_client.php


    File: /controllers/pages/_rollback.php


    File: /controllers/pages/_zip_viewer.php

    	/* Core Styles - USED BY DIRECTORY EXCLUDER */
    
    	/* File Extensions*/
    
    		/* margin-left: 15px; */
    

    File: /controllers/pages/backup.php


    File: /controllers/pages/deploy.php


    File: /controllers/pages/destinations.php

    			/* Try to ping server to nudge cron along since sometimes it doesnt trigger as expected. */
    

    File: /controllers/pages/malware_scan.php

    /*
    $timeoutMinutes = 5; // Minutes after which BackupBuddy assumed a backup has timed out & no longer running.
    
    // STATS GENERATION GOES HERE.
    
    echo '
    ';
    print_r( $currentBackupStats );
    echo '
    '; echo '
    '; echo '
    ';
    print_r( $backup_options->options );
    echo '
    '; */
    /*
    require_once( pb_backupbuddy::plugin_path() . '/classes/live.php' );
    
    $live = new pb_backupbuddy_live();
    $start_time = microtime(true);
    $live->generate_queue( ABSPATH );
    echo 'Took ' . ( microtime(true)-$start_time ) . ' sec.';
    die();
    */
    

    File: /controllers/pages/migrate_restore.php

    /********* Begin Migrate Settings Form *********/
    
    /********* End Migrate Settings Form *********/
    

    File: /controllers/pages/multisite_export.php


    File: /controllers/pages/multisite_import.php

    /*
    // Used for drag & drop / collapsing boxes.
    wp_enqueue_style('dashboard');
    wp_print_styles('dashboard');
    wp_enqueue_script('dashboard');
    wp_print_scripts('dashboard');
    
    wp_enqueue_script( 'thickbox' );
    wp_print_scripts( 'thickbox' );
    wp_print_styles( 'thickbox' );
    // Handles resizing thickbox.
    if ( !wp_script_is( 'media-upload' ) ) {
    	wp_enqueue_script( 'media-upload' );
    	wp_print_scripts( 'media-upload' );
    }
    wp_enqueue_script( 'backupbuddy-ms-export', $this->_parent->_pluginURL . '/js/ms.js', array( 'jquery' ) );
    wp_print_scripts( 'backupbuddy-ms-export' );
    */
    

    Class: pluginbuddy_ms_import

    	/**
    	 *	array_remove()
    	 *
    	 *	Removes array values in $remove from $array.
    	 *
    	 *	@param			$array		array		Source array. This will have values removed and be returned.
    	 *	@param			$remove		array		Array of values to search for in $array and remove.
    	 *	@return						array		Returns array $array stripped of all values found in $remove
    	 */
    
    	/**
    	 *	status_box()
    	 *
    	 *	Displays a textarea for placing status text into.
    	 *
    	 *	@param			$default_text	string		First line of text to display.
    	 *	@return							string		HTML for textarea.
    	 */
    
    	/**
    	 *	status()
    	 *
    	 *	Write a status line into an existing textarea created with the status_box() function.
    	 *
    	 *	@param			$type		string		message, details, error, or warning. Currently not in use.
    	 *	@param			$message	string		Message to append to the status box.
    	 *	@return			null
    	 */
    
    	/**
    	 *	get_zip_id()
    	 *
    	 *	Given a BackupBuddy ZIP file, extracts the random ZIP ID from the filename. This random string determines
    	 *	where BackupBuddy will find the temporary directory in the backup's wp-uploads directory. IE a zip ID of
    	 *	3poje9j34 will mean the temporary directory is wp-uploads/temp_3poje9j34/. backupbuddy_dat.php is in this
    	 *	directory as well as the SQL dump.
    	 *
    	 *	Currently handles old BackupBuddy ZIP file format. Remove this backward compatibility at some point.
    	 *
    	 *	$file			string		BackupBuddy ZIP filename.
    	 *	@return			string		ZIP ID characters.
    	 *
    	 */
    
    	/*	remove_file()
    	 *	
    	 *	Deletes a file.
    	 *	
    	 *	@param		string		$file				Full path to file to delete.
    	 *	@param		string		$description		Description of file for logging.
    	 *	@param		boolean		$error_on_missing	default false. Whether to log an error for a missing file.
    	 *	@return		null
    	 */
    

    File: /controllers/pages/scheduling.php


    File: /controllers/pages/server_tools.php


    File: /controllers/pages/settings.php

    /* BEGIN VERIFYING BACKUP DIRECTORY */
    
    /* END VERIFYING BACKUP DIRECTORY */
    
    /* BEGIN DISALLOWING DEFAULT IMPORT/REPAIR PASSWORD */
    
    /* END DISALLOWING DEFAULT IMPORT/REPAIR PASSWORD */
    
    /* BEGIN VERIFYING PASSWORD CONFIRMATIONS MATCH */
    
    /* END VERIFYING PASSWORD CONFIRMATIONS MATCH */
    
    /* BEGIN REPLACING IMPORTBUDDY/REPAIRBUDDY_PASS_HASH WITH VALUE OF ACTUAL HASH */
    
    /* BEGIN SAVE MULTISITE SPECIFIC SETTINGS IN SET OPTIONS SO THEY ARE AVAILABLE GLOBALLY */
    
    /* END SAVE MULTISITE SPECIFIC SETTINGS IN SET OPTIONS SO THEY ARE AVAILABLE GLOBALLY */
    

    File: /controllers/pages/rollback/_step0.php


    File: /controllers/pages/rollback/_step1.php


    File: /controllers/pages/rollback/_step2.php


    File: /controllers/pages/rollback/_step3.php


    File: /controllers/pages/rollback/_step4.php


    File: /controllers/pages/deploy/_init.php

    		/* Begin Table Selector */
    

    File: /controllers/pages/_ms_import/_step1.php


    File: /controllers/pages/_ms_import/_step2.php


    File: /controllers/pages/_ms_import/_step3.php


    File: /controllers/pages/_ms_import/_step4.php


    File: /controllers/pages/_ms_import/_step5.php

    	/*
    	if ( isset( $this->advanced_options['ignore_sql_errors'] ) && ( $this->advanced_options['ignore_sql_errors'] == 'true' ) ) {
    		$ignore_sql_errors = true;
    	} else {
    		$ignore_sql_errors = false;
    	}
    	*/
    

    File: /controllers/pages/_ms_import/_step6.php

    /*
    $wp_upload_dir = ABSPATH . $this->get_ms_option( $blog_id, 'upload_path' );
    $wp_upload_dir = rtrim( $wp_upload_dir, "\\/" ); // Trim trailing slash if there (shouldnt be by default but someone could have manually edited it)
    $this->status( 'details', 'Destination site uploads real file path: ' . $wp_upload_dir );
    $wp_upload_url = $this->get_ms_option( $blog_id, 'fileupload_url' );
    $wp_upload_url = rtrim( $wp_upload_url, "\\/" ); // Trim trailing slash if there (shouldnt be by default but someone could have manually edited it)
    */
    
    /*
    require_once( pb_backupbuddy::plugin_path() . '/lib/dbreplace/dbreplace.php' );
    $dbreplace = new pluginbuddy_dbreplace( $this );
    $this->migrate_database( $upload_url );
    */
    

    File: /controllers/pages/_ms_import/_step7.php

    /* REMOVE. Not needed  since we have already migrated, the prefix has updated.
    $this->load_backup_dat(); // Need for getting prefix for import update of prefix. loads into $this->_backupdata.
    if ( isset( $this->_backupdata['db_prefix'] ) && ( $this->_backupdata['db_prefix'] != '' ) ) {
    	$old_db_prefix = $this->_backupdata['db_prefix'];
    } else {
    	pb_backupbuddy::status( 'error', 'Error #4434894. Error determining source site database prefix.' );
    }
    pb_backupbuddy::status( 'details', 'The old database prefix of `' . $old_db_prefix . '` will be used to pull from temporary usermeta table for detecting prior site capabilities.' );
    */
    

    File: /controllers/pages/_ms_import/_step8.php


    File: /controllers/pages/server_info/cron.php

    			/*
    			if ( count( $cron_array['args'] ) == 1 ) {
    				$args = $cron_array['args'][0];
    			} else {
    				$args = $cron_array['args'];
    			}
    			*/
    
    						/*
    						if ( is_array( $arg ) ) {
    							$arguments .=  '[' . print_r( $arg, true ) . ']';//pb_backupbuddy::$format->multi_implode( $arg , '; ' )
    						} else {
    							$arguments .= $arg;
    						}
    						*/
    

    File: /controllers/pages/server_info/database.php

    Class: ) )


    File: /controllers/pages/server_info/permissions.php


    File: /controllers/pages/server_info/remote_sends.php


    File: /controllers/pages/server_info/server.php

    /*
     *	IMPORTANT NOTE:
     *
     *	This file is shared between multiple projects / purposes:
     *		+ BackupBuddy (this plugin) Server Info page.
     *		+ ImportBuddy.php (BackupBuddy importer) Server Information button dropdown display.
     *		+ ServerBuddy (plugin)
     *
     *	Use caution when updated to prevent breaking other projects.
     *
     */
    
    		/*
    		$parent_class_test = array(
    						'title'			=>		'BackupBuddy Version',
    						'suggestion'	=>		'>= ' . pb_backupbuddy::settings( 'wp_minimum' ) . ' (latest best)',
    						'value'			=>		$wp_version,
    						'tip'			=>		__('Version of WordPress currently running. It is important to keep your WordPress up to date for security & features.', 'it-l10n-backupbuddy' ),
    					);
    		if ( version_compare( $wp_version, pb_backupbuddy::settings( 'wp_minimum' ), '<=' ) ) {
    			$parent_class_test['status'] = __('FAIL', 'it-l10n-backupbuddy' );
    		} else {
    			$parent_class_test['status'] = __('OK', 'it-l10n-backupbuddy' );
    		}
    		array_push( $tests, $parent_class_test );
    		*/
    
    	/*
    	if ( ! defined( 'PB_IMPORTBUDDY' ) ) {
    		$parent_class_test = array(
    						'title'			=>		'Tested PHP Max Execution Time (beta)',
    						'suggestion'	=>		'>= 30 seconds (30+ best)',
    						'value'			=>		' Begin Test ',
    						'tip'			=>		__('This is the TESTED amount of time that PHP allows scripts to run. The test was performed by outputting / logging the script time elapsed once per second until PHP timed out and thus the time reported stopped. This gives a fairly accurate number compared to the reported number which is most often overriden at the server with a limit. If the page stays blank for a while then eventually loads then your server does not support live flushing of the updated time to your browser so you will not see updates until the test completes. ', 'it-l10n-backupbuddy' ),
    					);
    		$parent_class_test['status'] = __('OK', 'it-l10n-backupbuddy' );
    		array_push( $tests, $parent_class_test );
    	}
    	*/
    
    		/***** BEGIN AVERAGE WRITE SPEED *****/
    
    		/***** END AVERAGE WRITE SPEED *****/
    
    	/*
    	echo '
    ';
    	print_r( ini_get_all() );
    	echo '
    '; */

    File: /controllers/pages/server_info/site_size.php

    		border: 2px solid white; /* should match background, can't be transparent */
    

    File: /destinations/bootstrap.php

    /* Destinations class
     *
     * Handles everything remote destinations and passes onto individual destination
     * class functions.
     *
     * @author Dustin Bolton
     *
     */
    

    Class: pb_backupbuddy_destinations

    	/* _init_destination()
    	 *
    	 * Initialize destination, load class, and apply defaults to passed settings.
    	 *
    	 * @param	array 		$destination_settings		Array of destination settings.
    	 * @return	array|false 							Array with key value pairs. Keys: class, settings, info. Bool FALSE on failure.
    	 *
    	 */
    

    Class: ) )

    	/* listFiles()
    	 *
    	 * List all files / directories in a destination.
    	 *
    	 * @param	array 			$destination_settings		Array of destination settings.
    	 * @return	array|false									Array of files on sucess, else bool FALSE.
    	 *
    	 */
    
    	/* delete()
    	 *
    	 * Delete one or more files.
    	 *
    	 * @param	array 			$destination_settings		Array of destination settings.
    	 * @return	bool										true if all deleted, else false if one or more failed to delete.
    	 *
    	 */
    
    	/* getFile()
    	 *
    	 * Get a remote file and store locally.
    	 *
    	 * @param	array 			$destination_settings		Array of destination settings.
    	 * @param	string			$remote_file				Remote file to retrieve. Filename only. Directory, path, bucket, etc handled in $destination_settings.
    	 * @param	string			$local_file					Local file to save to.
    	 * @return	bool										true on success, else false.
    	 *
    	 */
    
    	/*	send()
    	 *	
    	 *	function description
    	 *	
    	 *	@param		array			Array of settings to pass to destination.
    	 *	@param		array			Array of files to send (full path).
    	 *	@return		boolean|array	true success, false on failure, array for multipart send information (transfer is being chunked up into parts).
    	 */
    
    	/*	shutdown_function()
    	 *	
    	 *	Used for catching fatal PHP errors during backup to write to log for debugging.
    	 *	
    	 *	@return		null
    	 */
    
    	/* _typePhpSuport()
    	 *
    	 * Does this server's PHP support this destination type?
    	 *
    	 * @param		string			Name of destination type / class / directory.
    	 * @return		bool			true success, else false (unsupported destination)
    	 *
    	 */
    

    File: /destinations/remote-send-test.php


    File: /destinations/sftp/_configure.php

    /*
    if ( pb_backupbuddy::_GET('add') != '' ) { // set default only when adding.
    	$default_url = rtrim( site_url(), '/\\' ) . '/';
    } else {
    	$default_url = '';
    }
    */
    

    File: /destinations/sftp/_manage.php


    File: /destinations/sftp/init.php

    Class: pb_backupbuddy_destination_sftp

    	/*	send()
    	 *	
    	 *	Send one or more files.
    	 *	
    	 *	@param		array			$files		Array of one or more files to send.
    	 *	@return		boolean						True on success, else false.
    	 */
    
    	/*	test()
    	 *	
    	 *	function description
    	 *	
    	 *	@param		array			$settings	Destination settings.
    	 *	@return		bool|string					True on success, string error message on failure.
    	 */
    

    File: /destinations/sftp/lib/phpseclib/Net/SCP.php

    /* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
    
    /**
     * Pure-PHP implementation of SCP.
     *
     * PHP versions 4 and 5
     *
     * The API for this library is modeled after the API from PHP's {@link http://php.net/book.ftp FTP extension}.
     *
     * Here's a short example of how to use this library:
     * 
     * login('username', 'password')) {
     *        exit('bad login');
     *    }
    
     *    $scp = new Net_SCP($ssh);
     *    $scp->put('abcd', str_repeat('x', 1024*1024));
     * ?>
     * 
     *
     * LICENSE: Permission is hereby granted, free of charge, to any person obtaining a copy
     * of this software and associated documentation files (the "Software"), to deal
     * in the Software without restriction, including without limitation the rights
     * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
     * copies of the Software, and to permit persons to whom the Software is
     * furnished to do so, subject to the following conditions:
     * 
     * The above copyright notice and this permission notice shall be included in
     * all copies or substantial portions of the Software.
     * 
     * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
     * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
     * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
     * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
     * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
     * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
     * THE SOFTWARE.
     *
     * @category   Net
     * @package    Net_SCP
     * @author     Jim Wigginton 
     * @copyright  MMX Jim Wigginton
     * @license    http://www.opensource.org/licenses/mit-license.html  MIT License
     * @link       http://phpseclib.sourceforge.net
     */
    
    /**#@+
     * @access public
     * @see Net_SCP::put()
     */
    
    /**
     * Reads data from a local file.
     */
    
    /**
     * Reads data from a string.
     */
    
    /**#@-*/
    
    /**#@+
     * @access private
     * @see Net_SCP::_send()
     * @see Net_SCP::_receive()
     */
    
    /**
     * SSH1 is being used.
     */
    
    /**
     * SSH2 is being used.
     */
    
    /**#@-*/
    
    /**
     * Pure-PHP implementations of SCP.
     *
     * @author  Jim Wigginton 
     * @version 0.1.0
     * @access  public
     * @package Net_SCP
     */
    

    Class: Net_SCP

        /**
         * SSH Object
         *
         * @var Object
         * @access private
         */
    
        /**
         * Packet Size
         *
         * @var Integer
         * @access private
         */
    
        /**
         * Mode
         *
         * @var Integer
         * @access private
         */
    
        /**
         * Default Constructor.
         *
         * Connects to an SSH server
         *
         * @param String $host
         * @param optional Integer $port
         * @param optional Integer $timeout
         * @return Net_SCP
         * @access public
         */
    
        /**
         * Uploads a file to the SCP server.
         *
         * By default, Net_SCP::put() does not read from the local filesystem.  $data is dumped directly into $remote_file.
         * So, for example, if you set $data to 'filename.ext' and then do Net_SCP::get(), you will get a file, twelve bytes
         * long, containing 'filename.ext' as its contents.
         *
         * Setting $mode to NET_SFTP_LOCAL_FILE will change the above behavior.  With NET_SFTP_LOCAL_FILE, $remote_file will 
         * contain as many bytes as filename.ext does on your local filesystem.  If your filename.ext is 1MB then that is how
         * large $remote_file will be, as well.
         *
         * Currently, only binary mode is supported.  As such, if the line endings need to be adjusted, you will need to take
         * care of that, yourself.
         *
         * @param String $remote_file
         * @param String $data
         * @param optional Integer $mode
         * @return Boolean
         * @access public
         */
    
        /**
         * Downloads a file from the SCP server.
         *
         * Returns a string containing the contents of $remote_file if $local_file is left undefined or a boolean false if
         * the operation was unsuccessful.  If $local_file is defined, returns true or false depending on the success of the
         * operation
         *
         * @param String $remote_file
         * @param optional String $local_file
         * @return Mixed
         * @access public
         */
    
        /**
         * Sends a packet to an SSH server
         *
         * @param String $data
         * @access private
         */
    
        /**
         * Receives a packet from an SSH server
         *
         * @return String
         * @access private
         */
    
        /**
         * Closes the connection to an SSH server
         *
         * @access private
         */
    

    File: /destinations/sftp/lib/phpseclib/Net/SFTP.php

    /* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
    
    /**
     * Pure-PHP implementation of SFTP.
     *
     * PHP versions 4 and 5
     *
     * Currently only supports SFTPv2 and v3, which, according to wikipedia.org, "is the most widely used version,
     * implemented by the popular OpenSSH SFTP server".  If you want SFTPv4/5/6 support, provide me with access
     * to an SFTPv4/5/6 server.
     *
     * The API for this library is modeled after the API from PHP's {@link http://php.net/book.ftp FTP extension}.
     *
     * Here's a short example of how to use this library:
     * 
     * login('username', 'password')) {
     *        exit('Login Failed');
     *    }
     *
     *    echo $sftp->pwd() . "\r\n";
     *    $sftp->put('filename.ext', 'hello, world!');
     *    print_r($sftp->nlist());
     * ?>
     * 
     *
     * LICENSE: Permission is hereby granted, free of charge, to any person obtaining a copy
     * of this software and associated documentation files (the "Software"), to deal
     * in the Software without restriction, including without limitation the rights
     * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
     * copies of the Software, and to permit persons to whom the Software is
     * furnished to do so, subject to the following conditions:
     * 
     * The above copyright notice and this permission notice shall be included in
     * all copies or substantial portions of the Software.
     * 
     * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
     * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
     * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
     * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
     * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
     * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
     * THE SOFTWARE.
     *
     * @category   Net
     * @package    Net_SFTP
     * @author     Jim Wigginton 
     * @copyright  MMIX Jim Wigginton
     * @license    http://www.opensource.org/licenses/mit-license.html  MIT License
     * @link       http://phpseclib.sourceforge.net
     */
    
    /**
     * Include Net_SSH2
     */
    
    /**#@+
     * @access public
     * @see Net_SFTP::getLog()
     */
    
    /**
     * Returns the message numbers
     */
    
    /**
     * Returns the message content
     */
    
    /**
     * Outputs the message content in real-time.
     */
    
    /**#@-*/
    
    /**
     * SFTP channel constant
     *
     * Net_SSH2::exec() uses 0 and Net_SSH2::read() / Net_SSH2::write() use 1.
     *
     * @see Net_SSH2::_send_channel_packet()
     * @see Net_SSH2::_get_channel_packet()
     * @access private
     */
    
    /**#@+
     * @access public
     * @see Net_SFTP::put()
     */
    
    /**
     * Reads data from a local file.
     */
    
    /**
     * Reads data from a string.
     */
    
    /**
     * Resumes an upload
     */
    
    /**#@-*/
    
    /**
     * Pure-PHP implementations of SFTP.
     *
     * @author  Jim Wigginton 
     * @version 0.1.0
     * @access  public
     * @package Net_SFTP
     */
    

    Class: Net_SFTP extends Net_SSH2

        /**
         * Packet Types
         *
         * @see Net_SFTP::Net_SFTP()
         * @var Array
         * @access private
         */
    
        /**
         * Status Codes
         *
         * @see Net_SFTP::Net_SFTP()
         * @var Array
         * @access private
         */
    
        /**
         * The Request ID
         *
         * The request ID exists in the off chance that a packet is sent out-of-order.  Of course, this library doesn't support
         * concurrent actions, so it's somewhat academic, here.
         *
         * @var Integer
         * @see Net_SFTP::_send_sftp_packet()
         * @access private
         */
    
        /**
         * The Packet Type
         *
         * The request ID exists in the off chance that a packet is sent out-of-order.  Of course, this library doesn't support
         * concurrent actions, so it's somewhat academic, here.
         *
         * @var Integer
         * @see Net_SFTP::_get_sftp_packet()
         * @access private
         */
    
        /**
         * Packet Buffer
         *
         * @var String
         * @see Net_SFTP::_get_sftp_packet()
         * @access private
         */
    
        /**
         * Extensions supported by the server
         *
         * @var Array
         * @see Net_SFTP::_initChannel()
         * @access private
         */
    
        /**
         * Server SFTP version
         *
         * @var Integer
         * @see Net_SFTP::_initChannel()
         * @access private
         */
    
        /**
         * Current working directory
         *
         * @var String
         * @see Net_SFTP::_realpath()
         * @see Net_SFTP::chdir()
         * @access private
         */
    
        /**
         * Packet Type Log
         *
         * @see Net_SFTP::getLog()
         * @var Array
         * @access private
         */
    
        /**
         * Packet Log
         *
         * @see Net_SFTP::getLog()
         * @var Array
         * @access private
         */
    
        /**
         * Error information
         *
         * @see Net_SFTP::getSFTPErrors()
         * @see Net_SFTP::getLastSFTPError()
         * @var String
         * @access private
         */
    
        /**
         * Directory Cache
         *
         * Rather than always having to open a directory and close it immediately there after to see if a file is a directory or
         * rather than always 
         *
         * @see Net_SFTP::_save_dir()
         * @see Net_SFTP::_remove_dir()
         * @see Net_SFTP::_is_dir()
         * @var Array
         * @access private
         */
    
        /**
         * Default Constructor.
         *
         * Connects to an SFTP server
         *
         * @param String $host
         * @param optional Integer $port
         * @param optional Integer $timeout
         * @return Net_SFTP
         * @access public
         */
    
                /* the format of SSH_FXP_OPEN changed between SFTPv4 and SFTPv5+:
                       SFTPv5+: http://tools.ietf.org/html/draft-ietf-secsh-filexfer-13#section-8.1.1
                   pre-SFTPv5 : http://tools.ietf.org/html/draft-ietf-secsh-filexfer-04#section-6.3 */
    
                /* the format of SSH_FXP_RENAME changed between SFTPv4 and SFTPv5+:
                       SFTPv5+: http://tools.ietf.org/html/draft-ietf-secsh-filexfer-13#section-8.3
                   pre-SFTPv5 : http://tools.ietf.org/html/draft-ietf-secsh-filexfer-04#section-6.5 */
    
                /* the format of SSH_FXP_NAME changed between SFTPv3 and SFTPv4+:
                       SFTPv4+: http://tools.ietf.org/html/draft-ietf-secsh-filexfer-13#section-9.4
                   pre-SFTPv4 : http://tools.ietf.org/html/draft-ietf-secsh-filexfer-02#section-7 */
    
        /**
         * Login
         *
         * @param String $username
         * @param optional String $password
         * @return Boolean
         * @access public
         */
    
            /*
             SFTPv4+ defines a 'newline' extension.  SFTPv3 seems to have unofficial support for it via 'newline@vandyke.com',
             however, I'm not sure what 'newline@vandyke.com' is supposed to do (the fact that it's unofficial means that it's
             not in the official SFTPv3 specs) and 'newline@vandyke.com' / 'newline' are likely not drop-in substitutes for
             one another due to the fact that 'newline' comes with a SSH_FXF_TEXT bitmask whereas it seems unlikely that
             'newline@vandyke.com' would.
            */
    
            /*
            if (isset($this->extensions['newline@vandyke.com'])) {
                $this->extensions['newline'] = $this->extensions['newline@vandyke.com'];
                unset($this->extensions['newline@vandyke.com']);
            }
            */
    
            /*
             A Note on SFTPv4/5/6 support:
              states the following:
    
             "If the client wishes to interoperate with servers that support noncontiguous version
              numbers it SHOULD send '3'"
    
             Given that the server only sends its version number after the client has already done so, the above
             seems to be suggesting that v3 should be the default version.  This makes sense given that v3 is the
             most popular.
    
              states the following;
    
             "If the server did not send the "versions" extension, or the version-from-list was not included, the
              server MAY send a status response describing the failure, but MUST then close the channel without
              processing any further requests."
    
             So what do you do if you have a client whose initial SSH_FXP_INIT packet says it implements v3 and
             a server whose initial SSH_FXP_VERSION reply says it implements v4 and only v4?  If it only implements
             v4, the "versions" extension is likely not going to have been sent so version re-negotiation as discussed
             in draft-ietf-secsh-filexfer-13 would be quite impossible.  As such, what Net_SFTP would do is close the
             channel and reopen it with a new and updated SSH_FXP_INIT packet.
            */
    
        /**
         * Returns the current directory name
         *
         * @return Mixed
         * @access public
         */
    
        /**
         * Logs errors
         *
         * @param String $response
         * @param optional Integer $status
         * @access public
         */
    
        /**
         * Canonicalize the Server-Side Path Name
         *
         * SFTP doesn't provide a mechanism by which the current working directory can be changed, so we'll emulate it.  Returns
         * the absolute (canonicalized) path.
         *
         * @see Net_SFTP::chdir()
         * @param String $path
         * @return Mixed
         * @access private
         */
    
        /**
         * Changes the current directory
         *
         * @param String $dir
         * @return Boolean
         * @access public
         */
    
        /**
         * Returns a list of files in the given directory
         *
         * @param optional String $dir
         * @return Mixed
         * @access public
         */
    
        /**
         * Returns a detailed list of files in the given directory
         *
         * @param optional String $dir
         * @return Mixed
         * @access public
         */
    
        /**
         * Reads a list, be it detailed or not, of files in the given directory
         *
         * $realpath exists because, in the case of the recursive deletes and recursive chmod's $realpath has already
         * been calculated.
         *
         * @param String $dir
         * @param optional Boolean $raw
         * @param optional Boolean $realpath
         * @return Mixed
         * @access private
         */
    
        /**
         * Returns the file size, in bytes, or false, on failure
         *
         * Files larger than 4GB will show up as being exactly 4GB.
         *
         * @param String $filename
         * @return Mixed
         * @access public
         */
    
        /**
         * Save directories to cache
         *
         * @param String $dir
         * @access private
         */
    
        /**
         * Remove directories from cache
         *
         * @param String $dir
         * @access private
         */
    
        /**
         * Checks cache for directory
         *
         * Mainly used by chdir, which is, in turn, also used for determining whether or not an individual
         * file is a directory or not by stat() and lstat()
         *
         * @param String $dir
         * @access private
         */
    
        /**
         * Returns general information about a file.
         *
         * Returns an array on success and false otherwise.
         *
         * @param String $filename
         * @return Mixed
         * @access public
         */
    
        /**
         * Returns general information about a file or symbolic link.
         *
         * Returns an array on success and false otherwise.
         *
         * @param String $filename
         * @return Mixed
         * @access public
         */
    
        /**
         * Returns general information about a file or symbolic link
         *
         * Determines information without calling Net_SFTP::_realpath().
         * The second parameter can be either NET_SFTP_STAT or NET_SFTP_LSTAT.
         *
         * @param String $filename
         * @param Integer $type
         * @return Mixed
         * @access private
         */
    
        /**
         * Returns the file size, in bytes, or false, on failure
         *
         * Determines the size without calling Net_SFTP::_realpath()
         *
         * @param String $filename
         * @return Mixed
         * @access private
         */
    
        /**
         * Truncates a file to a given length
         *
         * @param String $filename
         * @param Integer $new_size
         * @return Boolean
         * @access public
         */
    
        /**
         * Sets access and modification time of file.
         *
         * If the file does not exist, it will be created.
         *
         * @param String $filename
         * @param optional Integer $time
         * @param optional Integer $atime
         * @return Boolean
         * @access public
         */
    
        /**
         * Changes file or directory owner
         *
         * Returns TRUE on success or FALSE on error.
         *
         * @param String $filename
         * @param Integer $uid
         * @param optional Boolean $recursive
         * @return Boolean
         * @access public
         */
    
        /**
         * Changes file or directory group
         *
         * Returns TRUE on success or FALSE on error.
         *
         * @param String $filename
         * @param Integer $gid
         * @param optional Boolean $recursive
         * @return Boolean
         * @access public
         */
    
        /**
         * Set permissions on a file.
         *
         * Returns the new file permissions on success or FALSE on error.
         * If $recursive is true than this just returns TRUE or FALSE.
         *
         * @param Integer $mode
         * @param String $filename
         * @param optional Boolean $recursive
         * @return Mixed
         * @access public
         */
    
        /**
         * Sets information about a file
         *
         * @param String $filename
         * @param String $attr
         * @param Boolean $recursive
         * @return Boolean
         * @access private
         */
    
            /*
             "Because some systems must use separate system calls to set various attributes, it is possible that a failure 
              response will be returned, but yet some of the attributes may be have been successfully modified.  If possible,
              servers SHOULD avoid this situation; however, clients MUST be aware that this is possible."
    
              -- http://tools.ietf.org/html/draft-ietf-secsh-filexfer-13#section-8.6
            */
    
        /**
         * Recursively sets information on directories on the SFTP server
         *
         * Minimizes directory lookups and SSH_FXP_STATUS requests for speed.
         *
         * @param String $path
         * @param String $attr
         * @param Integer $i
         * @return Boolean
         * @access private
         */
    
        /**
         * Creates a directory.
         *
         * @param String $dir
         * @return Boolean
         * @access public
         */
    
        /**
         * Helper function for directory creation
         *
         * @param String $dir
         * @return Boolean
         * @access private
         */
    
        /**
         * Removes a directory.
         *
         * @param String $dir
         * @return Boolean
         * @access public
         */
    
        /**
         * Uploads a file to the SFTP server.
         *
         * By default, Net_SFTP::put() does not read from the local filesystem.  $data is dumped directly into $remote_file.
         * So, for example, if you set $data to 'filename.ext' and then do Net_SFTP::get(), you will get a file, twelve bytes
         * long, containing 'filename.ext' as its contents.
         *
         * Setting $mode to NET_SFTP_LOCAL_FILE will change the above behavior.  With NET_SFTP_LOCAL_FILE, $remote_file will 
         * contain as many bytes as filename.ext does on your local filesystem.  If your filename.ext is 1MB then that is how
         * large $remote_file will be, as well.
         *
         * Currently, only binary mode is supported.  As such, if the line endings need to be adjusted, you will need to take
         * care of that, yourself.
         *
         * As for $start... if it's negative (which it is by default) a new file will be created or an existing
         * file truncated depending on $mode | NET_SFTP_RESUME. If it's zero or positive it'll be updated at that
         * spot.
         *
         * @param String $remote_file
         * @param String $data
         * @param optional Integer $mode
         * @param optional Integer $start
         * @return Boolean
         * @access public
         * @internal ASCII mode for SFTPv4/5/6 can be supported by adding a new function - Net_SFTP::setMode().
         */
    
        /**
         * Reads multiple successive SSH_FXP_WRITE responses
         *
         * Sending an SSH_FXP_WRITE packet and immediately reading its response isn't as efficient as blindly sending out $i
         * SSH_FXP_WRITEs, in succession, and then reading $i responses.
         *
         * @param Integer $i
         * @return Boolean
         * @access private
         */
    
        /**
         * Downloads a file from the SFTP server.
         *
         * Returns a string containing the contents of $remote_file if $local_file is left undefined or a boolean false if
         * the operation was unsuccessful.  If $local_file is defined, returns true or false depending on the success of the
         * operation.
         *
         * $offset and $length can be used to download files in chunks.
         *
         * @param String $remote_file
         * @param optional String $local_file
         * @param optional Integer $offset
         * @param optional Integer $length
         * @return Mixed
         * @access public
         */
    
        /**
         * Deletes a file on the SFTP server.
         *
         * @param String $path
         * @param Boolean $recursive
         * @return Boolean
         * @access public
         */
    
        /**
         * Recursively deletes directories on the SFTP server
         *
         * Minimizes directory lookups and SSH_FXP_STATUS requests for speed.
         *
         * @param String $path
         * @param Integer $i
         * @return Boolean
         * @access private
         */
    
        /**
         * Renames a file or a directory on the SFTP server
         *
         * @param String $oldname
         * @param String $newname
         * @return Boolean
         * @access public
         */
    
        /**
         * Parse Attributes
         *
         * See '7.  File Attributes' of draft-ietf-secsh-filexfer-13 for more info.
         *
         * @param String $response
         * @return Array
         * @access private
         */
    
        /**
         * Attempt to identify the file type
         *
         * Quoting the SFTP RFC, "Implementations MUST NOT send bits that are not defined" but they seem to anyway
         *
         * @param Integer $mode
         * @return Integer
         * @access private
         */
    
        /**
         * Parse Longname
         *
         * SFTPv3 doesn't provide any easy way of identifying a file type.  You could try to open
         * a file as a directory and see if an error is returned or you could try to parse the
         * SFTPv3-specific longname field of the SSH_FXP_NAME packet.  That's what this function does.
         * The result is returned using the
         * {@link http://tools.ietf.org/html/draft-ietf-secsh-filexfer-04#section-5.2 SFTPv4 type constants}.
         *
         * If the longname is in an unrecognized format bool(false) is returned.
         *
         * @param String $longname
         * @return Mixed
         * @access private
         */
    
        /**
         * Sends SFTP Packets
         *
         * See '6. General Packet Format' of draft-ietf-secsh-filexfer-13 for more info.
         *
         * @param Integer $type
         * @param String $data
         * @see Net_SFTP::_get_sftp_packet()
         * @see Net_SSH2::_send_channel_packet()
         * @return Boolean
         * @access private
         */
    
        /**
         * Receives SFTP Packets
         *
         * See '6. General Packet Format' of draft-ietf-secsh-filexfer-13 for more info.
         *
         * Incidentally, the number of SSH_MSG_CHANNEL_DATA messages has no bearing on the number of SFTP packets present.
         * There can be one SSH_MSG_CHANNEL_DATA messages containing two SFTP packets or there can be two SSH_MSG_CHANNEL_DATA
         * messages containing one SFTP packet.
         *
         * @see Net_SFTP::_send_sftp_packet()
         * @return String
         * @access private
         */
    
        /**
         * Returns a log of the packets that have been sent and received.
         *
         * Returns a string if NET_SFTP_LOGGING == NET_SFTP_LOG_COMPLEX, an array if NET_SFTP_LOGGING == NET_SFTP_LOG_SIMPLE and false if !defined('NET_SFTP_LOGGING')
         *
         * @access public
         * @return String or Array
         */
    
        /**
         * Returns all errors
         *
         * @return String
         * @access public
         */
    
        /**
         * Returns the last error
         *
         * @return String
         * @access public
         */
    
        /**
         * Get supported SFTP versions
         *
         * @return Array
         * @access public
         */
    
        /**
         * Disconnect
         *
         * @param Integer $reason
         * @return Boolean
         * @access private
         */
    

    File: /destinations/sftp/lib/phpseclib/Net/SSH1.php

    /* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
    
    /**
     * Pure-PHP implementation of SSHv1.
     *
     * PHP versions 4 and 5
     *
     * Here's a short example of how to use this library:
     * 
     * login('username', 'password')) {
     *        exit('Login Failed');
     *    }
     *
     *    echo $ssh->exec('ls -la');
     * ?>
     * 
     *
     * Here's another short example:
     * 
     * login('username', 'password')) {
     *        exit('Login Failed');
     *    }
     *
     *    echo $ssh->read('username@username:~$');
     *    $ssh->write("ls -la\n");
     *    echo $ssh->read('username@username:~$');
     * ?>
     * 
     *
     * More information on the SSHv1 specification can be found by reading 
     * {@link http://www.snailbook.com/docs/protocol-1.5.txt protocol-1.5.txt}.
     *
     * LICENSE: Permission is hereby granted, free of charge, to any person obtaining a copy
     * of this software and associated documentation files (the "Software"), to deal
     * in the Software without restriction, including without limitation the rights
     * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
     * copies of the Software, and to permit persons to whom the Software is
     * furnished to do so, subject to the following conditions:
     * 
     * The above copyright notice and this permission notice shall be included in
     * all copies or substantial portions of the Software.
     * 
     * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
     * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
     * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
     * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
     * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
     * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
     * THE SOFTWARE.
     *
     * @category   Net
     * @package    Net_SSH1
     * @author     Jim Wigginton 
     * @copyright  MMVII Jim Wigginton
     * @license    http://www.opensource.org/licenses/mit-license.html  MIT License
     * @link       http://phpseclib.sourceforge.net
     */
    
    /**#@+
     * Encryption Methods
     *
     * @see Net_SSH1::getSupportedCiphers()
     * @access public
     */
    
    /**
     * No encryption
     *
     * Not supported.
     */
    
    /**
     * IDEA in CFB mode
     *
     * Not supported.
     */
    
    /**
     * DES in CBC mode
     */
    
    /**
     * Triple-DES in CBC mode
     *
     * All implementations are required to support this
     */
    
    /**
     * TRI's Simple Stream encryption CBC
     *
     * Not supported nor is it defined in the official SSH1 specs.  OpenSSH, however, does define it (see cipher.h),
     * although it doesn't use it (see cipher.c)
     */
    
    /**
     * RC4
     *
     * Not supported.
     *
     * @internal According to the SSH1 specs:
     *
     *        "The first 16 bytes of the session key are used as the key for
     *         the server to client direction.  The remaining 16 bytes are used
     *         as the key for the client to server direction.  This gives
     *         independent 128-bit keys for each direction."
     *
     *     This library currently only supports encryption when the same key is being used for both directions.  This is
     *     because there's only one $crypto object.  Two could be added ($encrypt and $decrypt, perhaps).
     */
    
    /**
     * Blowfish
     *
     * Not supported nor is it defined in the official SSH1 specs.  OpenSSH, however, defines it (see cipher.h) and
     * uses it (see cipher.c)
     */
    
    /**#@-*/
    
    /**#@+
     * Authentication Methods
     *
     * @see Net_SSH1::getSupportedAuthentications()
     * @access public
     */
    
    /**
     * .rhosts or /etc/hosts.equiv
     */
    
    /**
     * pure RSA authentication
     */
    
    /**
     * password authentication
     *
     * This is the only method that is supported by this library.
     */
    
    /**
     * .rhosts with RSA host authentication
     */
    
    /**#@-*/
    
    /**#@+
     * Terminal Modes
     *
     * @link http://3sp.com/content/developer/maverick-net/docs/Maverick.SSH.PseudoTerminalModesMembers.html
     * @access private
     */
    
    /**#@-*/
    
    /**
     * The Response Type
     *
     * @see Net_SSH1::_get_binary_packet()
     * @access private
     */
    
    /**
     * The Response Data
     *
     * @see Net_SSH1::_get_binary_packet()
     * @access private
     */
    
    /**#@+
     * Execution Bitmap Masks
     *
     * @see Net_SSH1::bitmap
     * @access private
     */
    
    /**#@-*/
    
    /**#@+
     * @access public
     * @see Net_SSH1::getLog()
     */
    
    /**
     * Returns the message numbers
     */
    
    /**
     * Returns the message content
     */
    
    /**
     * Outputs the content real-time
     */
    
    /**
     * Dumps the content real-time to a file
     */
    
    /**#@-*/
    
    /**#@+
     * @access public
     * @see Net_SSH1::read()
     */
    
    /**
     * Returns when a string matching $expect exactly is found
     */
    
    /**
     * Returns when a string matching the regular expression $expect is found
     */
    
    /**#@-*/
    
    /**
     * Pure-PHP implementation of SSHv1.
     *
     * @author  Jim Wigginton 
     * @version 0.1.0
     * @access  public
     * @package Net_SSH1
     */
    

    Class: Net_SSH1

        /**
         * The SSH identifier
         *
         * @var String
         * @access private
         */
    
        /**
         * The Socket Object
         *
         * @var Object
         * @access private
         */
    
        /**
         * The cryptography object
         *
         * @var Object
         * @access private
         */
    
        /**
         * Execution Bitmap
         *
         * The bits that are set represent functions that have been called already.  This is used to determine
         * if a requisite function has been successfully executed.  If not, an error should be thrown.
         *
         * @var Integer
         * @access private
         */
    
        /**
         * The Server Key Public Exponent
         *
         * Logged for debug purposes
         *
         * @see Net_SSH1::getServerKeyPublicExponent()
         * @var String
         * @access private
         */
    
        /**
         * The Server Key Public Modulus
         *
         * Logged for debug purposes
         *
         * @see Net_SSH1::getServerKeyPublicModulus()
         * @var String
         * @access private
         */
    
        /**
         * The Host Key Public Exponent
         *
         * Logged for debug purposes
         *
         * @see Net_SSH1::getHostKeyPublicExponent()
         * @var String
         * @access private
         */
    
        /**
         * The Host Key Public Modulus
         *
         * Logged for debug purposes
         *
         * @see Net_SSH1::getHostKeyPublicModulus()
         * @var String
         * @access private
         */
    
        /**
         * Supported Ciphers
         *
         * Logged for debug purposes
         *
         * @see Net_SSH1::getSupportedCiphers()
         * @var Array
         * @access private
         */
    
        /**
         * Supported Authentications
         *
         * Logged for debug purposes
         *
         * @see Net_SSH1::getSupportedAuthentications()
         * @var Array
         * @access private
         */
    
        /**
         * Server Identification
         *
         * @see Net_SSH1::getServerIdentification()
         * @var String
         * @access private
         */
    
        /**
         * Protocol Flags
         *
         * @see Net_SSH1::Net_SSH1()
         * @var Array
         * @access private
         */
    
        /**
         * Protocol Flag Log
         *
         * @see Net_SSH1::getLog()
         * @var Array
         * @access private
         */
    
        /**
         * Message Log
         *
         * @see Net_SSH1::getLog()
         * @var Array
         * @access private
         */
    
        /**
         * Real-time log file pointer
         *
         * @see Net_SSH1::_append_log()
         * @var Resource
         * @access private
         */
    
        /**
         * Real-time log file size
         *
         * @see Net_SSH1::_append_log()
         * @var Integer
         * @access private
         */
    
        /**
         * Real-time log file wrap boolean
         *
         * @see Net_SSH1::_append_log()
         * @var Boolean
         * @access private
         */
    
        /**
         * Interactive Buffer
         *
         * @see Net_SSH1::read()
         * @var Array
         * @access private
         */
    
        /**
         * Timeout
         *
         * @see Net_SSH1::setTimeout()
         * @access private
         */
    
        /**
         * Current Timeout
         *
         * @see Net_SSH2::_get_channel_packet()
         * @access private
         */
    
        /**
         * Default Constructor.
         *
         * Connects to an SSHv1 server
         *
         * @param String $host
         * @param optional Integer $port
         * @param optional Integer $timeout
         * @param optional Integer $cipher
         * @return Net_SSH1
         * @access public
         */
    
        /**
         * Login
         *
         * @param String $username
         * @param optional String $password
         * @return Boolean
         * @access public
         */
    
        /**
         * Set Timeout
         *
         * $ssh->exec('ping 127.0.0.1'); on a Linux host will never return and will run indefinitely.  setTimeout() makes it so it'll timeout.
         * Setting $timeout to false or 0 will mean there is no timeout.
         *
         * @param Mixed $timeout
         */
    
        /**
         * Executes a command on a non-interactive shell, returns the output, and quits.
         *
         * An SSH1 server will close the connection after a command has been executed on a non-interactive shell.  SSH2
         * servers don't, however, this isn't an SSH2 client.  The way this works, on the server, is by initiating a
         * shell with the -s option, as discussed in the following links:
         *
         * {@link http://www.faqs.org/docs/bashman/bashref_65.html http://www.faqs.org/docs/bashman/bashref_65.html}
         * {@link http://www.faqs.org/docs/bashman/bashref_62.html http://www.faqs.org/docs/bashman/bashref_62.html}
         *
         * To execute further commands, a new Net_SSH1 object will need to be created.
         *
         * Returns false on failure and the output, otherwise.
         *
         * @see Net_SSH1::interactiveRead()
         * @see Net_SSH1::interactiveWrite()
         * @param String $cmd
         * @return mixed
         * @access public
         */
    
        /**
         * Creates an interactive shell
         *
         * @see Net_SSH1::interactiveRead()
         * @see Net_SSH1::interactiveWrite()
         * @return Boolean
         * @access private
         */
    
        /**
         * Inputs a command into an interactive shell.
         *
         * @see Net_SSH1::interactiveWrite()
         * @param String $cmd
         * @return Boolean
         * @access public
         */
    
        /**
         * Returns the output of an interactive shell when there's a match for $expect
         *
         * $expect can take the form of a string literal or, if $mode == NET_SSH1_READ_REGEX,
         * a regular expression.
         *
         * @see Net_SSH1::write()
         * @param String $expect
         * @param Integer $mode
         * @return Boolean
         * @access public
         */
    
        /**
         * Inputs a command into an interactive shell.
         *
         * @see Net_SSH1::interactiveRead()
         * @param String $cmd
         * @return Boolean
         * @access public
         */
    
        /**
         * Returns the output of an interactive shell when no more output is available.
         *
         * Requires PHP 4.3.0 or later due to the use of the stream_select() function.  If you see stuff like
         * "^[[00m", you're seeing ANSI escape codes.  According to
         * {@link http://support.microsoft.com/kb/101875 How to Enable ANSI.SYS in a Command Window}, "Windows NT
         * does not support ANSI escape sequences in Win32 Console applications", so if you're a Windows user,
         * there's not going to be much recourse.
         *
         * @see Net_SSH1::interactiveRead()
         * @return String
         * @access public
         */
    
        /**
         * Disconnect
         *
         * @access public
         */
    
        /**
         * Destructor.
         *
         * Will be called, automatically, if you're supporting just PHP5.  If you're supporting PHP4, you'll need to call
         * disconnect().
         *
         * @access public
         */
    
        /**
         * Disconnect
         *
         * @param String $msg
         * @access private
         */
    
                /*
                $response = $this->_get_binary_packet();
                if ($response === true) {
                    $response = array(NET_SSH1_RESPONSE_TYPE => -1);
                }
                switch ($response[NET_SSH1_RESPONSE_TYPE]) {
                    case NET_SSH1_SMSG_EXITSTATUS:
                        $data = pack('C', NET_SSH1_CMSG_EXIT_CONFIRMATION);
                        break;
                    default:
                        $data = pack('CNa*', NET_SSH1_MSG_DISCONNECT, strlen($msg), $msg);
                }
                */
    
        /**
         * Gets Binary Packets
         *
         * See 'The Binary Packet Protocol' of protocol-1.5.txt for more info.
         *
         * Also, this function could be improved upon by adding detection for the following exploit:
         * http://www.securiteam.com/securitynews/5LP042K3FY.html
         *
         * @see Net_SSH1::_send_binary_packet()
         * @return Array
         * @access private
         */
    
        /**
         * Sends Binary Packets
         *
         * Returns true on success, false on failure.
         *
         * @see Net_SSH1::_get_binary_packet()
         * @param String $data
         * @return Boolean
         * @access private
         */
    
        /**
         * Cyclic Redundancy Check (CRC)
         *
         * PHP's crc32 function is implemented slightly differently than the one that SSH v1 uses, so
         * we've reimplemented it. A more detailed discussion of the differences can be found after
         * $crc_lookup_table's initialization.
         *
         * @see Net_SSH1::_get_binary_packet()
         * @see Net_SSH1::_send_binary_packet()
         * @param String $data
         * @return Integer
         * @access private
         */
    
        /**
         * String Shift
         *
         * Inspired by array_shift
         *
         * @param String $string
         * @param optional Integer $index
         * @return String
         * @access private
         */
    
        /**
         * RSA Encrypt
         *
         * Returns mod(pow($m, $e), $n), where $n should be the product of two (large) primes $p and $q and where $e
         * should be a number with the property that gcd($e, ($p - 1) * ($q - 1)) == 1.  Could just make anything that
         * calls this call modexp, instead, but I think this makes things clearer, maybe...
         *
         * @see Net_SSH1::Net_SSH1()
         * @param Math_BigInteger $m
         * @param Array $key
         * @return Math_BigInteger
         * @access private
         */
    
            /*
            if (!class_exists('Crypt_RSA')) {
                require_once('Crypt/RSA.php');
            }
    
            $rsa = new Crypt_RSA();
            $rsa->loadKey($key, CRYPT_RSA_PUBLIC_FORMAT_RAW);
            $rsa->setEncryptionMode(CRYPT_RSA_ENCRYPTION_PKCS1);
            return $rsa->encrypt($m);
            */
    
        /**
         * Define Array
         *
         * Takes any number of arrays whose indices are integers and whose values are strings and defines a bunch of
         * named constants from it, using the value as the name of the constant and the index as the value of the constant.
         * If any of the constants that would be defined already exists, none of the constants will be defined.
         *
         * @param Array $array
         * @access private
         */
    
        /**
         * Returns a log of the packets that have been sent and received.
         *
         * Returns a string if NET_SSH2_LOGGING == NET_SSH2_LOG_COMPLEX, an array if NET_SSH2_LOGGING == NET_SSH2_LOG_SIMPLE and false if !defined('NET_SSH2_LOGGING')
         *
         * @access public
         * @return String or Array
         */
    
        /**
         * Formats a log for printing
         *
         * @param Array $message_log
         * @param Array $message_number_log
         * @access private
         * @return String
         */
    
        /**
         * Return the server key public exponent
         *
         * Returns, by default, the base-10 representation.  If $raw_output is set to true, returns, instead,
         * the raw bytes.  This behavior is similar to PHP's md5() function.
         *
         * @param optional Boolean $raw_output
         * @return String
         * @access public
         */
    
        /**
         * Return the server key public modulus
         *
         * Returns, by default, the base-10 representation.  If $raw_output is set to true, returns, instead,
         * the raw bytes.  This behavior is similar to PHP's md5() function.
         *
         * @param optional Boolean $raw_output
         * @return String
         * @access public
         */
    
        /**
         * Return the host key public exponent
         *
         * Returns, by default, the base-10 representation.  If $raw_output is set to true, returns, instead,
         * the raw bytes.  This behavior is similar to PHP's md5() function.
         *
         * @param optional Boolean $raw_output
         * @return String
         * @access public
         */
    
        /**
         * Return the host key public modulus
         *
         * Returns, by default, the base-10 representation.  If $raw_output is set to true, returns, instead,
         * the raw bytes.  This behavior is similar to PHP's md5() function.
         *
         * @param optional Boolean $raw_output
         * @return String
         * @access public
         */
    
        /**
         * Return a list of ciphers supported by SSH1 server.
         *
         * Just because a cipher is supported by an SSH1 server doesn't mean it's supported by this library. If $raw_output
         * is set to true, returns, instead, an array of constants.  ie. instead of array('Triple-DES in CBC mode'), you'll
         * get array(NET_SSH1_CIPHER_3DES).
         *
         * @param optional Boolean $raw_output
         * @return Array
         * @access public
         */
    
        /**
         * Return a list of authentications supported by SSH1 server.
         *
         * Just because a cipher is supported by an SSH1 server doesn't mean it's supported by this library. If $raw_output
         * is set to true, returns, instead, an array of constants.  ie. instead of array('password authentication'), you'll
         * get array(NET_SSH1_AUTH_PASSWORD).
         *
         * @param optional Boolean $raw_output
         * @return Array
         * @access public
         */
    
        /**
         * Return the server identification.
         *
         * @return String
         * @access public
         */
    
        /**
         * Logs data packets
         *
         * Makes sure that only the last 1MB worth of packets will be logged
         *
         * @param String $data
         * @access private
         */
    

    File: /destinations/sftp/lib/phpseclib/Net/SSH2.php

    /* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
    
    /**
     * Pure-PHP implementation of SSHv2.
     *
     * PHP versions 4 and 5
     *
     * Here are some examples of how to use this library:
     * 
     * login('username', 'password')) {
     *        exit('Login Failed');
     *    }
     *
     *    echo $ssh->exec('pwd');
     *    echo $ssh->exec('ls -la');
     * ?>
     * 
     *
     * 
     * setPassword('whatever');
     *    $key->loadKey(file_get_contents('privatekey'));
     *
     *    $ssh = new Net_SSH2('www.domain.tld');
     *    if (!$ssh->login('username', $key)) {
     *        exit('Login Failed');
     *    }
     *
     *    echo $ssh->read('username@username:~$');
     *    $ssh->write("ls -la\n");
     *    echo $ssh->read('username@username:~$');
     * ?>
     * 
     *
     * LICENSE: Permission is hereby granted, free of charge, to any person obtaining a copy
     * of this software and associated documentation files (the "Software"), to deal
     * in the Software without restriction, including without limitation the rights
     * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
     * copies of the Software, and to permit persons to whom the Software is
     * furnished to do so, subject to the following conditions:
     * 
     * The above copyright notice and this permission notice shall be included in
     * all copies or substantial portions of the Software.
     * 
     * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
     * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
     * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
     * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
     * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
     * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
     * THE SOFTWARE.
     *
     * @category   Net
     * @package    Net_SSH2
     * @author     Jim Wigginton 
     * @copyright  MMVII Jim Wigginton
     * @license    http://www.opensource.org/licenses/mit-license.html  MIT License
     * @link       http://phpseclib.sourceforge.net
     */
    
    /**#@+
     * Execution Bitmap Masks
     *
     * @see Net_SSH2::bitmap
     * @access private
     */
    
    /**#@-*/
    
    /**#@+
     * Channel constants
     *
     * RFC4254 refers not to client and server channels but rather to sender and recipient channels.  we don't refer
     * to them in that way because RFC4254 toggles the meaning. the client sends a SSH_MSG_CHANNEL_OPEN message with
     * a sender channel and the server sends a SSH_MSG_CHANNEL_OPEN_CONFIRMATION in response, with a sender and a
     * recepient channel.  at first glance, you might conclude that SSH_MSG_CHANNEL_OPEN_CONFIRMATION's sender channel
     * would be the same thing as SSH_MSG_CHANNEL_OPEN's sender channel, but it's not, per this snipet:
     *     The 'recipient channel' is the channel number given in the original
     *     open request, and 'sender channel' is the channel number allocated by
     *     the other side.
     *
     * @see Net_SSH2::_send_channel_packet()
     * @see Net_SSH2::_get_channel_packet()
     * @access private
     */
    
    /**#@-*/
    
    /**#@+
     * @access public
     * @see Net_SSH2::getLog()
     */
    
    /**
     * Returns the message numbers
     */
    
    /**
     * Returns the message content
     */
    
    /**
     * Outputs the content real-time
     */
    
    /**
     * Dumps the content real-time to a file
     */
    
    /**#@-*/
    
    /**#@+
     * @access public
     * @see Net_SSH2::read()
     */
    
    /**
     * Returns when a string matching $expect exactly is found
     */
    
    /**
     * Returns when a string matching the regular expression $expect is found
     */
    
    /**
     * Make sure that the log never gets larger than this
     */
    
    /**#@-*/
    
    /**
     * Pure-PHP implementation of SSHv2.
     *
     * @author  Jim Wigginton 
     * @version 0.1.0
     * @access  public
     * @package Net_SSH2
     */
    

    Class: Net_SSH2

        /**
         * The SSH identifier
         *
         * @var String
         * @access private
         */
    
        /**
         * The Socket Object
         *
         * @var Object
         * @access private
         */
    
        /**
         * Execution Bitmap
         *
         * The bits that are set represent functions that have been called already.  This is used to determine
         * if a requisite function has been successfully executed.  If not, an error should be thrown.
         *
         * @var Integer
         * @access private
         */
    
        /**
         * Error information
         *
         * @see Net_SSH2::getErrors()
         * @see Net_SSH2::getLastError()
         * @var String
         * @access private
         */
    
        /**
         * Server Identifier
         *
         * @see Net_SSH2::getServerIdentification()
         * @var String
         * @access private
         */
    
        /**
         * Key Exchange Algorithms
         *
         * @see Net_SSH2::getKexAlgorithims()
         * @var Array
         * @access private
         */
    
        /**
         * Server Host Key Algorithms
         *
         * @see Net_SSH2::getServerHostKeyAlgorithms()
         * @var Array
         * @access private
         */
    
        /**
         * Encryption Algorithms: Client to Server
         *
         * @see Net_SSH2::getEncryptionAlgorithmsClient2Server()
         * @var Array
         * @access private
         */
    
        /**
         * Encryption Algorithms: Server to Client
         *
         * @see Net_SSH2::getEncryptionAlgorithmsServer2Client()
         * @var Array
         * @access private
         */
    
        /**
         * MAC Algorithms: Client to Server
         *
         * @see Net_SSH2::getMACAlgorithmsClient2Server()
         * @var Array
         * @access private
         */
    
        /**
         * MAC Algorithms: Server to Client
         *
         * @see Net_SSH2::getMACAlgorithmsServer2Client()
         * @var Array
         * @access private
         */
    
        /**
         * Compression Algorithms: Client to Server
         *
         * @see Net_SSH2::getCompressionAlgorithmsClient2Server()
         * @var Array
         * @access private
         */
    
        /**
         * Compression Algorithms: Server to Client
         *
         * @see Net_SSH2::getCompressionAlgorithmsServer2Client()
         * @var Array
         * @access private
         */
    
        /**
         * Languages: Server to Client
         *
         * @see Net_SSH2::getLanguagesServer2Client()
         * @var Array
         * @access private
         */
    
        /**
         * Languages: Client to Server
         *
         * @see Net_SSH2::getLanguagesClient2Server()
         * @var Array
         * @access private
         */
    
        /**
         * Block Size for Server to Client Encryption
         *
         * "Note that the length of the concatenation of 'packet_length',
         *  'padding_length', 'payload', and 'random padding' MUST be a multiple
         *  of the cipher block size or 8, whichever is larger.  This constraint
         *  MUST be enforced, even when using stream ciphers."
         *
         *  -- http://tools.ietf.org/html/rfc4253#section-6
         *
         * @see Net_SSH2::Net_SSH2()
         * @see Net_SSH2::_send_binary_packet()
         * @var Integer
         * @access private
         */
    
        /**
         * Block Size for Client to Server Encryption
         *
         * @see Net_SSH2::Net_SSH2()
         * @see Net_SSH2::_get_binary_packet()
         * @var Integer
         * @access private
         */
    
        /**
         * Server to Client Encryption Object
         *
         * @see Net_SSH2::_get_binary_packet()
         * @var Object
         * @access private
         */
    
        /**
         * Client to Server Encryption Object
         *
         * @see Net_SSH2::_send_binary_packet()
         * @var Object
         * @access private
         */
    
        /**
         * Client to Server HMAC Object
         *
         * @see Net_SSH2::_send_binary_packet()
         * @var Object
         * @access private
         */
    
        /**
         * Server to Client HMAC Object
         *
         * @see Net_SSH2::_get_binary_packet()
         * @var Object
         * @access private
         */
    
        /**
         * Size of server to client HMAC
         *
         * We need to know how big the HMAC will be for the server to client direction so that we know how many bytes to read.
         * For the client to server side, the HMAC object will make the HMAC as long as it needs to be.  All we need to do is
         * append it.
         *
         * @see Net_SSH2::_get_binary_packet()
         * @var Integer
         * @access private
         */
    
        /**
         * Server Public Host Key
         *
         * @see Net_SSH2::getServerPublicHostKey()
         * @var String
         * @access private
         */
    
        /**
         * Session identifer
         *
         * "The exchange hash H from the first key exchange is additionally
         *  used as the session identifier, which is a unique identifier for
         *  this connection."
         *
         *  -- http://tools.ietf.org/html/rfc4253#section-7.2
         *
         * @see Net_SSH2::_key_exchange()
         * @var String
         * @access private
         */
    
        /**
         * Exchange hash
         *
         * The current exchange hash
         *
         * @see Net_SSH2::_key_exchange()
         * @var String
         * @access private
         */
    
        /**
         * Message Numbers
         *
         * @see Net_SSH2::Net_SSH2()
         * @var Array
         * @access private
         */
    
        /**
         * Disconnection Message 'reason codes' defined in RFC4253
         *
         * @see Net_SSH2::Net_SSH2()
         * @var Array
         * @access private
         */
    
        /**
         * SSH_MSG_CHANNEL_OPEN_FAILURE 'reason codes', defined in RFC4254
         *
         * @see Net_SSH2::Net_SSH2()
         * @var Array
         * @access private
         */
    
        /**
         * Terminal Modes
         *
         * @link http://tools.ietf.org/html/rfc4254#section-8
         * @see Net_SSH2::Net_SSH2()
         * @var Array
         * @access private
         */
    
        /**
         * SSH_MSG_CHANNEL_EXTENDED_DATA's data_type_codes
         *
         * @link http://tools.ietf.org/html/rfc4254#section-5.2
         * @see Net_SSH2::Net_SSH2()
         * @var Array
         * @access private
         */
    
        /**
         * Send Sequence Number
         *
         * See 'Section 6.4.  Data Integrity' of rfc4253 for more info.
         *
         * @see Net_SSH2::_send_binary_packet()
         * @var Integer
         * @access private
         */
    
        /**
         * Get Sequence Number
         *
         * See 'Section 6.4.  Data Integrity' of rfc4253 for more info.
         *
         * @see Net_SSH2::_get_binary_packet()
         * @var Integer
         * @access private
         */
    
        /**
         * Server Channels
         *
         * Maps client channels to server channels
         *
         * @see Net_SSH2::_get_channel_packet()
         * @see Net_SSH2::exec()
         * @var Array
         * @access private
         */
    
        /**
         * Channel Buffers
         *
         * If a client requests a packet from one channel but receives two packets from another those packets should
         * be placed in a buffer
         *
         * @see Net_SSH2::_get_channel_packet()
         * @see Net_SSH2::exec()
         * @var Array
         * @access private
         */
    
        /**
         * Channel Status
         *
         * Contains the type of the last sent message
         *
         * @see Net_SSH2::_get_channel_packet()
         * @var Array
         * @access private
         */
    
        /**
         * Packet Size
         *
         * Maximum packet size indexed by channel
         *
         * @see Net_SSH2::_send_channel_packet()
         * @var Array
         * @access private
         */
    
        /**
         * Message Number Log
         *
         * @see Net_SSH2::getLog()
         * @var Array
         * @access private
         */
    
        /**
         * Message Log
         *
         * @see Net_SSH2::getLog()
         * @var Array
         * @access private
         */
    
        /**
         * The Window Size
         *
         * Bytes the other party can send before it must wait for the window to be adjusted (0x7FFFFFFF = 2GB)
         *
         * @var Integer
         * @see Net_SSH2::_send_channel_packet()
         * @see Net_SSH2::exec()
         * @access private
         */
    
        /**
         * Window size
         *
         * Window size indexed by channel
         *
         * @see Net_SSH2::_send_channel_packet()
         * @var Array
         * @access private
         */
    
        /**
         * Server signature
         *
         * Verified against $this->session_id
         *
         * @see Net_SSH2::getServerPublicHostKey()
         * @var String
         * @access private
         */
    
        /**
         * Server signature format
         *
         * ssh-rsa or ssh-dss.
         *
         * @see Net_SSH2::getServerPublicHostKey()
         * @var String
         * @access private
         */
    
        /**
         * Interactive Buffer
         *
         * @see Net_SSH2::read()
         * @var Array
         * @access private
         */
    
        /**
         * Current log size
         *
         * Should never exceed NET_SSH2_LOG_MAX_SIZE
         *
         * @see Net_SSH2::_send_binary_packet()
         * @see Net_SSH2::_get_binary_packet()
         * @var Integer
         * @access private
         */
    
        /**
         * Timeout
         *
         * @see Net_SSH2::setTimeout()
         * @access private
         */
    
        /**
         * Current Timeout
         *
         * @see Net_SSH2::_get_channel_packet()
         * @access private
         */
    
        /**
         * Real-time log file pointer
         *
         * @see Net_SSH2::_append_log()
         * @var Resource
         * @access private
         */
    
        /**
         * Real-time log file size
         *
         * @see Net_SSH2::_append_log()
         * @var Integer
         * @access private
         */
    
        /**
         * Has the signature been validated?
         *
         * @see Net_SSH2::getServerPublicHostKey()
         * @var Boolean
         * @access private
         */
    
        /**
         * Real-time log file wrap boolean
         *
         * @see Net_SSH2::_append_log()
         * @access private
         */
    
        /**
         * Flag to suppress stderr from output
         *
         * @see Net_SSH2::enableQuietMode()
         * @access private
         */
    
        /**
         * Time of first network activity
         *
         * @access private
         */
    
        /**
         * Exit status returned from ssh if any
         *
         * @var Integer
         * @access private
         */
    
        /**
         * Flag to request a PTY when using exec()
         *
         * @see Net_SSH2::enablePTY()
         * @access private
         */
    
        /**
         * Flag set while exec() is running when using enablePTY()
         *
         * @access private
         */
    
        /**
         * Contents of stdError
         *
         * @access private
         */
    
        /**
         * The Last Interactive Response
         *
         * @see Net_SSH2::_keyboard_interactive_process()
         * @access private
         */
    
        /**
         * Keyboard Interactive Request / Responses
         *
         * @see Net_SSH2::_keyboard_interactive_process()
         * @access private
         */
    
        /**
         * Banner Message
         *
         * Quoting from the RFC, "in some jurisdictions, sending a warning message before
         * authentication may be relevant for getting legal protection."
         *
         * @see Net_SSH2::_filter()
         * @see Net_SSH2::getBannerMessage()
         * @access private
         */
    
        /**
         * Did read() timeout or return normally?
         *
         * @see Net_SSH2::isTimeout
         * @access private
         */
    
        /**
         * Default Constructor.
         *
         * Connects to an SSHv2 server
         *
         * @param String $host
         * @param optional Integer $port
         * @param optional Integer $timeout
         * @return Net_SSH2
         * @access public
         */
    
            /* According to the SSH2 specs,
    
              "The server MAY send other lines of data before sending the version
               string.  Each line SHOULD be terminated by a Carriage Return and Line
               Feed.  Such lines MUST NOT begin with "SSH-", and SHOULD be encoded
               in ISO-10646 UTF-8 [RFC3629] (language is not specified).  Clients
               MUST be able to process such lines." */
    
        /**
         * Key Exchange
         *
         * @param String $kexinit_payload_server
         * @access private
         */
    
            /* To increase the speed of the key exchange, both client and server may
               reduce the size of their private exponents.  It should be at least
               twice as long as the key material that is generated from the shared
               secret.  For more details, see the paper by van Oorschot and Wiener
               [VAN-OORSCHOT].
    
               -- http://tools.ietf.org/html/rfc4419#section-6.2 */
    
            /* The "arcfour128" algorithm is the RC4 cipher, as described in
               [SCHNEIER], using a 128-bit key.  The first 1536 bytes of keystream
               generated by the cipher MUST be discarded, and the first byte of the
               first encrypted packet MUST be encrypted using the 1537th byte of
               keystream.
    
               -- http://tools.ietf.org/html/rfc4345#section-4 */
    
        /**
         * Login
         *
         * The $password parameter can be a plaintext password, a Crypt_RSA object or an array
         *
         * @param String $username
         * @param Mixed $password
         * @param Mixed $...
         * @return Boolean
         * @see _login_helper
         * @access public
         */
    
        /**
         * Login Helper
         *
         * @param String $username
         * @param optional String $password
         * @return Boolean
         * @access private
         * @internal It might be worthwhile, at some point, to protect against {@link http://tools.ietf.org/html/rfc4251#section-9.3.9 traffic analysis}
         *           by sending dummy SSH_MSG_IGNORE messages.
         */
    
        /**
         * Login via keyboard-interactive authentication
         *
         * See {@link http://tools.ietf.org/html/rfc4256 RFC4256} for details.  This is not a full-featured keyboard-interactive authenticator.
         *
         * @param String $username
         * @param String $password
         * @return Boolean
         * @access private
         */
    
        /**
         * Handle the keyboard-interactive requests / responses.
         *
         * @param String $responses...
         * @return Boolean
         * @access private
         */
    
                    /*
                       After obtaining the requested information from the user, the client
                       MUST respond with an SSH_MSG_USERAUTH_INFO_RESPONSE message.
                    */
    
                    /*
                       After receiving the response, the server MUST send either an
                       SSH_MSG_USERAUTH_SUCCESS, SSH_MSG_USERAUTH_FAILURE, or another
                       SSH_MSG_USERAUTH_INFO_REQUEST message.
                    */
    
        /**
         * Login with an RSA private key
         *
         * @param String $username
         * @param Crypt_RSA $password
         * @return Boolean
         * @access private
         * @internal It might be worthwhile, at some point, to protect against {@link http://tools.ietf.org/html/rfc4251#section-9.3.9 traffic analysis}
         *           by sending dummy SSH_MSG_IGNORE messages.
         */
    
        /**
         * Set Timeout
         *
         * $ssh->exec('ping 127.0.0.1'); on a Linux host will never return and will run indefinitely.  setTimeout() makes it so it'll timeout.
         * Setting $timeout to false or 0 will mean there is no timeout.
         *
         * @param Mixed $timeout
         * @access public
         */
    
        /**
         * Get the output from stdError
         * 
         * @access public
         */
    
        /**
         * Execute Command
         *
         * If $block is set to false then Net_SSH2::_get_channel_packet(NET_SSH2_CHANNEL_EXEC) will need to be called manually.
         * In all likelihood, this is not a feature you want to be taking advantage of.
         *
         * @param String $command
         * @param optional Boolean $block
         * @return String
         * @access public
         */
    
        /**
         * Creates an interactive shell
         *
         * @see Net_SSH2::read()
         * @see Net_SSH2::write()
         * @return Boolean
         * @access private
         */
    
        /**
         * Returns the output of an interactive shell
         *
         * Returns when there's a match for $expect, which can take the form of a string literal or,
         * if $mode == NET_SSH2_READ_REGEX, a regular expression.
         *
         * @see Net_SSH2::read()
         * @param String $expect
         * @param Integer $mode
         * @return String
         * @access public
         */
    
        /**
         * Inputs a command into an interactive shell.
         *
         * @see Net_SSH1::interactiveWrite()
         * @param String $cmd
         * @return Boolean
         * @access public
         */
    
        /**
         * Closes a channel
         *
         * If read() timed out you might want to just close the channel and have it auto-restart on the next read() call
         *
         * @access public
         */
    
        /**
         * Is timeout?
         *
         * Did exec() or read() return because they timed out or because they encountered the end?
         *
         * @access public
         */
    
        /**
         * Disconnect
         *
         * @access public
         */
    
        /**
         * Destructor.
         *
         * Will be called, automatically, if you're supporting just PHP5.  If you're supporting PHP4, you'll need to call
         * disconnect().
         *
         * @access public
         */
    
        /**
         * Is the connection still active?
         *
         * @access public
         */
    
        /**
         * Gets Binary Packets
         *
         * See '6. Binary Packet Protocol' of rfc4253 for more info.
         *
         * @see Net_SSH2::_send_binary_packet()
         * @return String
         * @access private
         */
    
        /**
         * Filter Binary Packets
         *
         * Because some binary packets need to be ignored...
         *
         * @see Net_SSH2::_get_binary_packet()
         * @return String
         * @access private
         */
    
        /**
         * Enable Quiet Mode
         *
         * Suppress stderr from output
         *
         * @access public
         */
    
        /**
         * Disable Quiet Mode
         *
         * Show stderr in output
         *
         * @access public
         */
    
        /**
         * Enable request-pty when using exec()
         *
         * @access public
         */
    
        /**
         * Disable request-pty when using exec()
         *
         * @access public
         */
    
        /**
         * Gets channel data
         *
         * Returns the data as a string if it's available and false if not.
         *
         * @param $client_channel
         * @return Mixed
         * @access private
         */
    
                        /*
                        if ($client_channel == NET_SSH2_CHANNEL_EXEC) {
                            // SCP requires null packets, such as this, be sent.  further, in the case of the ssh.com SSH server
                            // this actually seems to make things twice as fast.  more to the point, the message right after 
                            // SSH_MSG_CHANNEL_DATA (usually SSH_MSG_IGNORE) won't block for as long as it would have otherwise.
                            // in OpenSSH it slows things down but only by a couple thousandths of a second.
                            $this->_send_channel_packet($client_channel, chr(0));
                        }
                        */
    
                        /*
                        if ($client_channel == NET_SSH2_CHANNEL_EXEC) {
                            $this->_send_channel_packet($client_channel, chr(0));
                        }
                        */
    
        /**
         * Sends Binary Packets
         *
         * See '6. Binary Packet Protocol' of rfc4253 for more info.
         *
         * @param String $data
         * @see Net_SSH2::_get_binary_packet()
         * @return Boolean
         * @access private
         */
    
        /**
         * Logs data packets
         *
         * Makes sure that only the last 1MB worth of packets will be logged
         *
         * @param String $data
         * @access private
         */
    
        /**
         * Sends channel data
         *
         * Spans multiple SSH_MSG_CHANNEL_DATAs if appropriate
         *
         * @param Integer $client_channel
         * @param String $data
         * @return Boolean
         * @access private
         */
    
        /**
         * Closes and flushes a channel
         *
         * Net_SSH2 doesn't properly close most channels.  For exec() channels are normally closed by the server
         * and for SFTP channels are presumably closed when the client disconnects.  This functions is intended
         * for SCP more than anything.
         *
         * @param Integer $client_channel
         * @return Boolean
         * @access private
         */
    
        /**
         * Disconnect
         *
         * @param Integer $reason
         * @return Boolean
         * @access private
         */
    
        /**
         * String Shift
         *
         * Inspired by array_shift
         *
         * @param String $string
         * @param optional Integer $index
         * @return String
         * @access private
         */
    
        /**
         * Define Array
         *
         * Takes any number of arrays whose indices are integers and whose values are strings and defines a bunch of
         * named constants from it, using the value as the name of the constant and the index as the value of the constant.
         * If any of the constants that would be defined already exists, none of the constants will be defined.
         *
         * @param Array $array
         * @access private
         */
    
        /**
         * Returns a log of the packets that have been sent and received.
         *
         * Returns a string if NET_SSH2_LOGGING == NET_SSH2_LOG_COMPLEX, an array if NET_SSH2_LOGGING == NET_SSH2_LOG_SIMPLE and false if !defined('NET_SSH2_LOGGING')
         *
         * @access public
         * @return String or Array
         */
    
        /**
         * Formats a log for printing
         *
         * @param Array $message_log
         * @param Array $message_number_log
         * @access private
         * @return String
         */
    
        /**
         * Returns all errors
         *
         * @return String
         * @access public
         */
    
        /**
         * Returns the last error
         *
         * @return String
         * @access public
         */
    
        /**
         * Return the server identification.
         *
         * @return String
         * @access public
         */
    
        /**
         * Return a list of the key exchange algorithms the server supports.
         *
         * @return Array
         * @access public
         */
    
        /**
         * Return a list of the host key (public key) algorithms the server supports.
         *
         * @return Array
         * @access public
         */
    
        /**
         * Return a list of the (symmetric key) encryption algorithms the server supports, when receiving stuff from the client.
         *
         * @return Array
         * @access public
         */
    
        /**
         * Return a list of the (symmetric key) encryption algorithms the server supports, when sending stuff to the client.
         *
         * @return Array
         * @access public
         */
    
        /**
         * Return a list of the MAC algorithms the server supports, when receiving stuff from the client.
         *
         * @return Array
         * @access public
         */
    
        /**
         * Return a list of the MAC algorithms the server supports, when sending stuff to the client.
         *
         * @return Array
         * @access public
         */
    
        /**
         * Return a list of the compression algorithms the server supports, when receiving stuff from the client.
         *
         * @return Array
         * @access public
         */
    
        /**
         * Return a list of the compression algorithms the server supports, when sending stuff to the client.
         *
         * @return Array
         * @access public
         */
    
        /**
         * Return a list of the languages the server supports, when sending stuff to the client.
         *
         * @return Array
         * @access public
         */
    
        /**
         * Return a list of the languages the server supports, when receiving stuff from the client.
         *
         * @return Array
         * @access public
         */
    
        /**
         * Returns the banner message.
         *
         * Quoting from the RFC, "in some jurisdictions, sending a warning message before
         * authentication may be relevant for getting legal protection."
         *
         * @return String
         * @access public
         */
    
        /**
         * Returns the server public host key.
         *
         * Caching this the first time you connect to a server and checking the result on subsequent connections
         * is recommended.  Returns false if the server signature is not signed correctly with the public host key.
         *
         * @return Mixed
         * @access public
         */
    
                    /* The value for 'dss_signature_blob' is encoded as a string containing
                       r, followed by s (which are 160-bit integers, without lengths or
                       padding, unsigned, and in network byte order). */
    
                    /*
                    $temp = unpack('Nlength', $this->_string_shift($signature, 4));
                    $signature = $this->_string_shift($signature, $temp['length']);
    
                    if (!class_exists('Crypt_RSA')) {
                        require_once('Crypt/RSA.php');
                    }
    
                    $rsa = new Crypt_RSA();
                    $rsa->setSignatureMode(CRYPT_RSA_SIGNATURE_PKCS1);
                    $rsa->loadKey(array('e' => $e, 'n' => $n), CRYPT_RSA_PUBLIC_FORMAT_RAW);
                    if (!$rsa->verify($this->exchange_hash, $signature)) {
                        user_error('Bad server signature');
                        return $this->_disconnect(NET_SSH2_DISCONNECT_HOST_KEY_NOT_VERIFIABLE);
                    }
                    */
    
        /**
         * Returns the exit status of an SSH command or false.
         *
         * @return Integer or false
         * @access public
         */
    

    File: /destinations/sftp/lib/phpseclib/Net/SFTP/Stream.php

    /* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
    
    /**
     * SFTP Stream Wrapper
     *
     * Creates an sftp:// protocol handler that can be used with, for example, fopen(), dir(), etc.
     *
     * PHP version 5
     *
     * LICENSE: Permission is hereby granted, free of charge, to any person obtaining a copy
     * of this software and associated documentation files (the "Software"), to deal
     * in the Software without restriction, including without limitation the rights
     * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
     * copies of the Software, and to permit persons to whom the Software is
     * furnished to do so, subject to the following conditions:
     * 
     * The above copyright notice and this permission notice shall be included in
     * all copies or substantial portions of the Software.
     * 
     * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
     * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
     * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
     * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
     * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
     * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
     * THE SOFTWARE.
     *
     * @category   Net
     * @package    Net_SFTP_Stream
     * @author     Jim Wigginton 
     * @copyright  MMXIII Jim Wigginton
     * @license    http://www.opensource.org/licenses/mit-license.html  MIT License
     * @link       http://phpseclib.sourceforge.net
     */
    
    /**
     * SFTP Stream Wrapper
     *
     * @author  Jim Wigginton 
     * @version 0.3.2
     * @access  public
     * @package Net_SFTP_Stream
     */
    

    Class: Net_SFTP_Stream

        /**
         * SFTP instances
         *
         * Rather than re-create the connection we re-use instances if possible
         *
         * @var Array
         * @access static
         */
    
        /**
         * SFTP instance
         *
         * @var Object
         * @access private
         */
    
        /**
         * Path
         *
         * @var String
         * @access private
         */
    
        /**
         * Mode
         *
         * @var String
         * @access private
         */
    
        /**
         * Position
         *
         * @var Integer
         * @access private
         */
    
        /**
         * Size
         *
         * @var Integer
         * @access private
         */
    
        /**
         * Directory entries
         *
         * @var Array
         * @access private
         */
    
        /**
         * EOF flag
         *
         * @var Boolean
         * @access private
         */
    
        /**
         * Context resource
         *
         * Technically this needs to be publically accessible so PHP can set it directly
         *
         * @var Resource
         * @access public
         */
    
        /**
         * Notification callback function
         *
         * @var Callable
         * @access public
         */
    
        /**
         * The Constructor
         *
         * @access public
         */
    
        /**
         * Path Parser
         *
         * Extract a path from a URI and actually connect to an SSH server if appropriate
         *
         * If "notification" is set as a context parameter the message code for successful login is
         * NET_SSH2_MSG_USERAUTH_SUCCESS. For a failed login it's NET_SSH2_MSG_USERAUTH_FAILURE.
         *
         * @param String $path
         * @return String
         * @access private
         */
    
                        /* if !is_callable($this->notification) we could do this:
    
                           user_error('fopen(): failed to call user notifier', E_USER_WARNING);
    
                           the ftp wrapper gives errors like that when the notifier isn't callable.
                           i've opted not to do that, however, since the ftp wrapper gives the line
                           on which the fopen occurred as the line number - not the line that the
                           user_error is on.
                        */
    
        /**
         * Opens file or URL
         *
         * @param String $path
         * @param String $mode
         * @param Integer $options
         * @param String $opened_path
         * @return Boolean
         * @access public
         */
    
        /**
         * Read from stream
         *
         * @param Integer $count
         * @return Mixed
         * @access public
         */
    
        /**
         * Write to stream
         *
         * @param String $data
         * @return Mixed
         * @access public
         */
    
        /**
         * Retrieve the current position of a stream
         *
         * @return Integer
         * @access public
         */
    
        /**
         * Tests for end-of-file on a file pointer
         *
         * In my testing there are four classes functions that normally effect the pointer:
         * fseek, fputs  / fwrite, fgets / fread and ftruncate.
         *
         * Only fgets / fread, however, results in feof() returning true. do fputs($fp, 'aaa') on a blank file and feof()
         * will return false. do fread($fp, 1) and feof() will then return true. do fseek($fp, 10) on ablank file and feof()
         * will return false. do fread($fp, 1) and feof() will then return true.
         *
         * @return Boolean
         * @access public
         */
    
        /**
         * Seeks to specific location in a stream
         *
         * @param Integer $offset
         * @param Integer $whence
         * @return Boolean
         * @access public
         */
    
        /**
         * Change stream options
         *
         * @param String $path
         * @param Integer $option
         * @param Mixed $var
         * @return Boolean
         * @access public
         */
    
        /**
         * Retrieve the underlaying resource
         *
         * @param Integer $cast_as
         * @return Resource
         * @access public
         */
    
        /**
         * Advisory file locking
         *
         * @param Integer $operation
         * @return Boolean
         * @access public
         */
    
        /**
         * Renames a file or directory
         *
         * Attempts to rename oldname to newname, moving it between directories if necessary.
         * If newname exists, it will be overwritten.  This is a departure from what Net_SFTP
         * does.
         *
         * @param String $path_from
         * @param String $path_to
         * @return Boolean
         * @access public
         */
    
        /**
         * Open directory handle
         *
         * The only $options is "whether or not to enforce safe_mode (0x04)". Since safe mode was deprecated in 5.3 and
         * removed in 5.4 I'm just going to ignore it 
         *
         * @param String $path
         * @param Integer $options
         * @return Boolean
         * @access public
         */
    
        /**
         * Read entry from directory handle
         *
         * @return Mixed
         * @access public
         */
    
        /**
         * Rewind directory handle
         *
         * @return Boolean
         * @access public
         */
    
        /**
         * Close directory handle
         *
         * @return Boolean
         * @access public
         */
    
        /**
         * Create a directory
         *
         * Only valid $options is STREAM_MKDIR_RECURSIVE
         *
         * @param String $path
         * @param Integer $mode
         * @param Integer $options
         * @return Boolean
         * @access public
         */
    
        /**
         * Removes a directory
         *
         * Only valid $options is STREAM_MKDIR_RECURSIVE per , however,
         *   does not have a $recursive parameter as mkdir() does so I don't know how
         * STREAM_MKDIR_RECURSIVE is supposed to be set. Also, when I try it out with rmdir() I get 8 as
         * $options. What does 8 correspond to?
         *
         * @param String $path
         * @param Integer $mode
         * @param Integer $options
         * @return Boolean
         * @access public
         */
    
        /**
         * Flushes the output
         *
         * See . Always returns true because Net_SFTP doesn't cache stuff before writing
         *
         * @return Boolean
         * @access public
         */
    
        /**
         * Retrieve information about a file resource
         *
         * @return Mixed
         * @access public
         */
    
        /**
         * Delete a file
         *
         * @param String $path
         * @return Boolean
         * @access public
         */
    
        /**
         * Retrieve information about a file
         *
         * Ignores the STREAM_URL_STAT_QUIET flag because the entirety of Net_SFTP_Stream is quiet by default
         * might be worthwhile to reconstruct bits 12-16 (ie. the file type) if mode doesn't have them but we'll
         * cross that bridge when and if it's reached
         *
         * @param String $path
         * @param Integer $flags
         * @return Mixed
         * @access public
         */
    
        /**
         * Truncate stream
         *
         * @param Integer $new_size
         * @return Boolean
         * @access public
         */
    
        /**
         * Change stream options
         *
         * STREAM_OPTION_WRITE_BUFFER isn't supported for the same reason stream_flush isn't.
         * The other two aren't supported because of limitations in Net_SFTP.
         *
         * @param Integer $option
         * @param Integer $arg1
         * @param Integer $arg2
         * @return Boolean
         * @access public
         */
    
        /**
         * Close an resource
         *
         * @access public
         */
    
        /**
         * __call Magic Method
         *
         * When you're utilizing an SFTP stream you're not calling the methods in this class directly - PHP is calling them for you.
         * Which kinda begs the question... what methods is PHP calling and what parameters is it passing to them? This function
         * lets you figure that out.
         *
         * If NET_SFTP_STREAM_LOGGING is defined all calls will be output on the screen and then (regardless of whether or not
         * NET_SFTP_STREAM_LOGGING is enabled) the parameters will be passed through to the appropriate method.
         *
         * @param String
         * @param Array
         * @return Mixed
         * @access public
         */
    

    File: /destinations/sftp/lib/phpseclib/Math/BigInteger.php

    /* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
    
    /**
     * Pure-PHP arbitrary precision integer arithmetic library.
     *
     * Supports base-2, base-10, base-16, and base-256 numbers.  Uses the GMP or BCMath extensions, if available,
     * and an internal implementation, otherwise.
     *
     * PHP versions 4 and 5
     *
     * {@internal (all DocBlock comments regarding implementation - such as the one that follows - refer to the 
     * {@link MATH_BIGINTEGER_MODE_INTERNAL MATH_BIGINTEGER_MODE_INTERNAL} mode)
     *
     * Math_BigInteger uses base-2**26 to perform operations such as multiplication and division and
     * base-2**52 (ie. two base 2**26 digits) to perform addition and subtraction.  Because the largest possible
     * value when multiplying two base-2**26 numbers together is a base-2**52 number, double precision floating
     * point numbers - numbers that should be supported on most hardware and whose significand is 53 bits - are
     * used.  As a consequence, bitwise operators such as >> and << cannot be used, nor can the modulo operator %,
     * which only supports integers.  Although this fact will slow this library down, the fact that such a high
     * base is being used should more than compensate.
     *
     * When PHP version 6 is officially released, we'll be able to use 64-bit integers.  This should, once again,
     * allow bitwise operators, and will increase the maximum possible base to 2**31 (or 2**62 for addition /
     * subtraction).
     *
     * Numbers are stored in {@link http://en.wikipedia.org/wiki/Endianness little endian} format.  ie.
     * (new Math_BigInteger(pow(2, 26)))->value = array(0, 1)
     *
     * Useful resources are as follows:
     *
     *  - {@link http://www.cacr.math.uwaterloo.ca/hac/about/chap14.pdf Handbook of Applied Cryptography (HAC)}
     *  - {@link http://math.libtomcrypt.com/files/tommath.pdf Multi-Precision Math (MPM)}
     *  - Java's BigInteger classes.  See /j2se/src/share/classes/java/math in jdk-1_5_0-src-jrl.zip
     *
     * Here's an example of how to use this library:
     * 
     * add($b);
     *
     *    echo $c->toString(); // outputs 5
     * ?>
     * 
     *
     * LICENSE: Permission is hereby granted, free of charge, to any person obtaining a copy
     * of this software and associated documentation files (the "Software"), to deal
     * in the Software without restriction, including without limitation the rights
     * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
     * copies of the Software, and to permit persons to whom the Software is
     * furnished to do so, subject to the following conditions:
     * 
     * The above copyright notice and this permission notice shall be included in
     * all copies or substantial portions of the Software.
     * 
     * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
     * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
     * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
     * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
     * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
     * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
     * THE SOFTWARE.
     *
     * @category   Math
     * @package    Math_BigInteger
     * @author     Jim Wigginton 
     * @copyright  MMVI Jim Wigginton
     * @license    http://www.opensource.org/licenses/mit-license.html  MIT License
     * @link       http://pear.php.net/package/Math_BigInteger
     */
    
    /**#@+
     * Reduction constants
     *
     * @access private
     * @see Math_BigInteger::_reduce()
     */
    
    /**
     * @see Math_BigInteger::_montgomery()
     * @see Math_BigInteger::_prepMontgomery()
     */
    
    /**
     * @see Math_BigInteger::_barrett()
     */
    
    /**
     * @see Math_BigInteger::_mod2()
     */
    
    /**
     * @see Math_BigInteger::_remainder()
     */
    
    /**
     * @see Math_BigInteger::__clone()
     */
    
    /**#@-*/
    
    /**#@+
     * Array constants
     *
     * Rather than create a thousands and thousands of new Math_BigInteger objects in repeated function calls to add() and
     * multiply() or whatever, we'll just work directly on arrays, taking them in as parameters and returning them.
     *
     * @access private
     */
    
    /**
     * $result[MATH_BIGINTEGER_VALUE] contains the value.
     */
    
    /**
     * $result[MATH_BIGINTEGER_SIGN] contains the sign.
     */
    
    /**#@-*/
    
    /**#@+
     * @access private
     * @see Math_BigInteger::_montgomery()
     * @see Math_BigInteger::_barrett()
     */
    
    /**
     * Cache constants
     *
     * $cache[MATH_BIGINTEGER_VARIABLE] tells us whether or not the cached data is still valid.
     */
    
    /**
     * $cache[MATH_BIGINTEGER_DATA] contains the cached data.
     */
    
    /**#@-*/
    
    /**#@+
     * Mode constants.
     *
     * @access private
     * @see Math_BigInteger::Math_BigInteger()
     */
    
    /**
     * To use the pure-PHP implementation
     */
    
    /**
     * To use the BCMath library
     *
     * (if enabled; otherwise, the internal implementation will be used)
     */
    
    /**
     * To use the GMP library
     *
     * (if present; otherwise, either the BCMath or the internal implementation will be used)
     */
    
    /**#@-*/
    
    /**
     * Karatsuba Cutoff
     *
     * At what point do we switch between Karatsuba multiplication and schoolbook long multiplication?
     *
     * @access private
     */
    
    /**
     * Pure-PHP arbitrary precision integer arithmetic library. Supports base-2, base-10, base-16, and base-256
     * numbers.
     *
     * @author  Jim Wigginton 
     * @version 1.0.0RC4
     * @access  public
     * @package Math_BigInteger
     */
    

    Class: Math_BigInteger

        /**
         * Holds the BigInteger's value.
         *
         * @var Array
         * @access private
         */
    
        /**
         * Holds the BigInteger's magnitude.
         *
         * @var Boolean
         * @access private
         */
    
        /**
         * Random number generator function
         *
         * @see setRandomGenerator()
         * @access private
         */
    
        /**
         * Precision
         *
         * @see setPrecision()
         * @access private
         */
    
        /**
         * Precision Bitmask
         *
         * @see setPrecision()
         * @access private
         */
    
        /**
         * Mode independent value used for serialization.
         *
         * If the bcmath or gmp extensions are installed $this->value will be a non-serializable resource, hence the need for 
         * a variable that'll be serializable regardless of whether or not extensions are being used.  Unlike $this->value,
         * however, $this->hex is only calculated when $this->__sleep() is called.
         *
         * @see __sleep()
         * @see __wakeup()
         * @var String
         * @access private
         */
    
        /**
         * Converts base-2, base-10, base-16, and binary strings (base-256) to BigIntegers.
         *
         * If the second parameter - $base - is negative, then it will be assumed that the number's are encoded using
         * two's compliment.  The sole exception to this is -10, which is treated the same as 10 is.
         *
         * Here's an example:
         * 
         * <?php
         *    include('Math/BigInteger.php');
         *
         *    $a = new Math_BigInteger('0x32', 16); // 50 in base-16
         *
         *    echo $a->toString(); // outputs 50
         * ?>
         * 
         *
         * @param optional $x base-10 number or base-$base number if $base set.
         * @param optional integer $base
         * @return Math_BigInteger
         * @access public
         */
    
        /**
         * Converts a BigInteger to a byte string (eg. base-256).
         *
         * Negative numbers are saved as positive numbers, unless $twos_compliment is set to true, at which point, they're
         * saved as two's compliment.
         *
         * Here's an example:
         * 
         * toBytes(); // outputs chr(65)
         * ?>
         * 
         *
         * @param Boolean $twos_compliment
         * @return String
         * @access public
         * @internal Converts a base-2**26 number to base-2**8
         */
    
        /**
         * Converts a BigInteger to a hex string (eg. base-16)).
         *
         * Negative numbers are saved as positive numbers, unless $twos_compliment is set to true, at which point, they're
         * saved as two's compliment.
         *
         * Here's an example:
         * 
         * toHex(); // outputs '41'
         * ?>
         * 
         *
         * @param Boolean $twos_compliment
         * @return String
         * @access public
         * @internal Converts a base-2**26 number to base-2**8
         */
    
        /**
         * Converts a BigInteger to a bit string (eg. base-2).
         *
         * Negative numbers are saved as positive numbers, unless $twos_compliment is set to true, at which point, they're
         * saved as two's compliment.
         *
         * Here's an example:
         * 
         * toBits(); // outputs '1000001'
         * ?>
         * 
         *
         * @param Boolean $twos_compliment
         * @return String
         * @access public
         * @internal Converts a base-2**26 number to base-2**2
         */
    
        /**
         * Converts a BigInteger to a base-10 number.
         *
         * Here's an example:
         * 
         * toString(); // outputs 50
         * ?>
         * 
         *
         * @return String
         * @access public
         * @internal Converts a base-2**26 number to base-10**7 (which is pretty much base-10)
         */
    
        /**
         * Copy an object
         *
         * PHP5 passes objects by reference while PHP4 passes by value.  As such, we need a function to guarantee
         * that all objects are passed by value, when appropriate.  More information can be found here:
         *
         * {@link http://php.net/language.oop5.basic#51624}
         *
         * @access public
         * @see __clone()
         * @return Math_BigInteger
         */
    
        /**
         *  __toString() magic method
         *
         * Will be called, automatically, if you're supporting just PHP5.  If you're supporting PHP4, you'll need to call
         * toString().
         *
         * @access public
         * @internal Implemented per a suggestion by Techie-Michael - thanks!
         */
    
        /**
         * __clone() magic method
         *
         * Although you can call Math_BigInteger::__toString() directly in PHP5, you cannot call Math_BigInteger::__clone()
         * directly in PHP5.  You can in PHP4 since it's not a magic method, but in PHP5, you have to call it by using the PHP5
         * only syntax of $y = clone $x.  As such, if you're trying to write an application that works on both PHP4 and PHP5,
         * call Math_BigInteger::copy(), instead.
         *
         * @access public
         * @see copy()
         * @return Math_BigInteger
         */
    
        /**
         *  __sleep() magic method
         *
         * Will be called, automatically, when serialize() is called on a Math_BigInteger object.
         *
         * @see __wakeup()
         * @access public
         */
    
        /**
         *  __wakeup() magic method
         *
         * Will be called, automatically, when unserialize() is called on a Math_BigInteger object.
         *
         * @see __sleep()
         * @access public
         */
    
        /**
         * Adds two BigIntegers.
         *
         * Here's an example:
         * 
         * add($b);
         *
         *    echo $c->toString(); // outputs 30
         * ?>
         * 
         *
         * @param Math_BigInteger $y
         * @return Math_BigInteger
         * @access public
         * @internal Performs base-2**52 addition
         */
    
        /**
         * Performs addition.
         *
         * @param Array $x_value
         * @param Boolean $x_negative
         * @param Array $y_value
         * @param Boolean $y_negative
         * @return Array
         * @access private
         */
    
        /**
         * Subtracts two BigIntegers.
         *
         * Here's an example:
         * 
         * subtract($b);
         *
         *    echo $c->toString(); // outputs -10
         * ?>
         * 
         *
         * @param Math_BigInteger $y
         * @return Math_BigInteger
         * @access public
         * @internal Performs base-2**52 subtraction
         */
    
        /**
         * Performs subtraction.
         *
         * @param Array $x_value
         * @param Boolean $x_negative
         * @param Array $y_value
         * @param Boolean $y_negative
         * @return Array
         * @access private
         */
    
        /**
         * Multiplies two BigIntegers
         *
         * Here's an example:
         * 
         * multiply($b);
         *
         *    echo $c->toString(); // outputs 200
         * ?>
         * 
         *
         * @param Math_BigInteger $x
         * @return Math_BigInteger
         * @access public
         */
    
        /**
         * Performs multiplication.
         *
         * @param Array $x_value
         * @param Boolean $x_negative
         * @param Array $y_value
         * @param Boolean $y_negative
         * @return Array
         * @access private
         */
    
        /**
         * Performs long multiplication on two BigIntegers
         *
         * Modeled after 'multiply' in MutableBigInteger.java.
         *
         * @param Array $x_value
         * @param Array $y_value
         * @return Array
         * @access private
         */
    
        /**
         * Performs Karatsuba multiplication on two BigIntegers
         *
         * See {@link http://en.wikipedia.org/wiki/Karatsuba_algorithm Karatsuba algorithm} and
         * {@link http://math.libtomcrypt.com/files/tommath.pdf#page=120 MPM 5.2.3}.
         *
         * @param Array $x_value
         * @param Array $y_value
         * @return Array
         * @access private
         */
    
        /**
         * Performs squaring
         *
         * @param Array $x
         * @return Array
         * @access private
         */
    
        /**
         * Performs traditional squaring on two BigIntegers
         *
         * Squaring can be done faster than multiplying a number by itself can be.  See
         * {@link http://www.cacr.math.uwaterloo.ca/hac/about/chap14.pdf#page=7 HAC 14.2.4} /
         * {@link http://math.libtomcrypt.com/files/tommath.pdf#page=141 MPM 5.3} for more information.
         *
         * @param Array $value
         * @return Array
         * @access private
         */
    
        /**
         * Performs Karatsuba "squaring" on two BigIntegers
         *
         * See {@link http://en.wikipedia.org/wiki/Karatsuba_algorithm Karatsuba algorithm} and
         * {@link http://math.libtomcrypt.com/files/tommath.pdf#page=151 MPM 5.3.4}.
         *
         * @param Array $value
         * @return Array
         * @access private
         */
    
        /**
         * Divides two BigIntegers.
         *
         * Returns an array whose first element contains the quotient and whose second element contains the
         * "common residue".  If the remainder would be positive, the "common residue" and the remainder are the
         * same.  If the remainder would be negative, the "common residue" is equal to the sum of the remainder
         * and the divisor (basically, the "common residue" is the first positive modulo).
         *
         * Here's an example:
         * 
         * divide($b);
         *
         *    echo $quotient->toString(); // outputs 0
         *    echo "\r\n";
         *    echo $remainder->toString(); // outputs 10
         * ?>
         * 
         *
         * @param Math_BigInteger $y
         * @return Array
         * @access public
         * @internal This function is based off of {@link http://www.cacr.math.uwaterloo.ca/hac/about/chap14.pdf#page=9 HAC 14.20}.
         */
    
        /**
         * Divides a BigInteger by a regular integer
         *
         * abc / x = a00 / x + b0 / x + c / x
         *
         * @param Array $dividend
         * @param Array $divisor
         * @return Array
         * @access private
         */
    
        /**
         * Performs modular exponentiation.
         *
         * Here's an example:
         * 
         * modPow($b, $c);
         *
         *    echo $c->toString(); // outputs 10
         * ?>
         * 
         *
         * @param Math_BigInteger $e
         * @param Math_BigInteger $n
         * @return Math_BigInteger
         * @access public
         * @internal The most naive approach to modular exponentiation has very unreasonable requirements, and
         *    and although the approach involving repeated squaring does vastly better, it, too, is impractical
         *    for our purposes.  The reason being that division - by far the most complicated and time-consuming
         *    of the basic operations (eg. +,-,*,/) - occurs multiple times within it.
         *
         *    Modular reductions resolve this issue.  Although an individual modular reduction takes more time
         *    then an individual division, when performed in succession (with the same modulo), they're a lot faster.
         *
         *    The two most commonly used modular reductions are Barrett and Montgomery reduction.  Montgomery reduction,
         *    although faster, only works when the gcd of the modulo and of the base being used is 1.  In RSA, when the
         *    base is a power of two, the modulo - a product of two primes - is always going to have a gcd of 1 (because
         *    the product of two odd numbers is odd), but what about when RSA isn't used?
         *
         *    In contrast, Barrett reduction has no such constraint.  As such, some bigint implementations perform a
         *    Barrett reduction after every operation in the modpow function.  Others perform Barrett reductions when the
         *    modulo is even and Montgomery reductions when the modulo is odd.  BigInteger.java's modPow method, however,
         *    uses a trick involving the Chinese Remainder Theorem to factor the even modulo into two numbers - one odd and
         *    the other, a power of two - and recombine them, later.  This is the method that this modPow function uses.
         *    {@link http://islab.oregonstate.edu/papers/j34monex.pdf Montgomery Reduction with Even Modulus} elaborates.
         */
    
        /**
         * Performs modular exponentiation.
         *
         * Alias for Math_BigInteger::modPow()
         *
         * @param Math_BigInteger $e
         * @param Math_BigInteger $n
         * @return Math_BigInteger
         * @access public
         */
    
        /**
         * Sliding Window k-ary Modular Exponentiation
         *
         * Based on {@link http://www.cacr.math.uwaterloo.ca/hac/about/chap14.pdf#page=27 HAC 14.85} /
         * {@link http://math.libtomcrypt.com/files/tommath.pdf#page=210 MPM 7.7}.  In a departure from those algorithims,
         * however, this function performs a modular reduction after every multiplication and squaring operation.
         * As such, this function has the same preconditions that the reductions being used do.
         *
         * @param Math_BigInteger $e
         * @param Math_BigInteger $n
         * @param Integer $mode
         * @return Math_BigInteger
         * @access private
         */
    
        /**
         * Modular reduction
         *
         * For most $modes this will return the remainder.
         *
         * @see _slidingWindow()
         * @access private
         * @param Array $x
         * @param Array $n
         * @param Integer $mode
         * @return Array
         */
    
        /**
         * Modular reduction preperation
         *
         * @see _slidingWindow()
         * @access private
         * @param Array $x
         * @param Array $n
         * @param Integer $mode
         * @return Array
         */
    
        /**
         * Modular multiply
         *
         * @see _slidingWindow()
         * @access private
         * @param Array $x
         * @param Array $y
         * @param Array $n
         * @param Integer $mode
         * @return Array
         */
    
        /**
         * Modular square
         *
         * @see _slidingWindow()
         * @access private
         * @param Array $x
         * @param Array $n
         * @param Integer $mode
         * @return Array
         */
    
        /**
         * Modulos for Powers of Two
         *
         * Calculates $x%$n, where $n = 2**$e, for some $e.  Since this is basically the same as doing $x & ($n-1),
         * we'll just use this function as a wrapper for doing that.
         *
         * @see _slidingWindow()
         * @access private
         * @param Math_BigInteger
         * @return Math_BigInteger
         */
    
        /**
         * Barrett Modular Reduction
         *
         * See {@link http://www.cacr.math.uwaterloo.ca/hac/about/chap14.pdf#page=14 HAC 14.3.3} /
         * {@link http://math.libtomcrypt.com/files/tommath.pdf#page=165 MPM 6.2.5} for more information.  Modified slightly,
         * so as not to require negative numbers (initially, this script didn't support negative numbers).
         *
         * Employs "folding", as described at
         * {@link http://www.cosic.esat.kuleuven.be/publications/thesis-149.pdf#page=66 thesis-149.pdf#page=66}.  To quote from
         * it, "the idea [behind folding] is to find a value x' such that x (mod m) = x' (mod m), with x' being smaller than x."
         *
         * Unfortunately, the "Barrett Reduction with Folding" algorithm described in thesis-149.pdf is not, as written, all that
         * usable on account of (1) its not using reasonable radix points as discussed in
         * {@link http://math.libtomcrypt.com/files/tommath.pdf#page=162 MPM 6.2.2} and (2) the fact that, even with reasonable
         * radix points, it only works when there are an even number of digits in the denominator.  The reason for (2) is that
         * (x >> 1) + (x >> 1) != x / 2 + x / 2.  If x is even, they're the same, but if x is odd, they're not.  See the in-line
         * comments for details.
         *
         * @see _slidingWindow()
         * @access private
         * @param Array $n
         * @param Array $m
         * @return Array
         */
    
        /**
         * (Regular) Barrett Modular Reduction
         *
         * For numbers with more than four digits Math_BigInteger::_barrett() is faster.  The difference between that and this
         * is that this function does not fold the denominator into a smaller form.
         *
         * @see _slidingWindow()
         * @access private
         * @param Array $x
         * @param Array $n
         * @return Array
         */
    
        /**
         * Performs long multiplication up to $stop digits
         *
         * If you're going to be doing array_slice($product->value, 0, $stop), some cycles can be saved.
         *
         * @see _regularBarrett()
         * @param Array $x_value
         * @param Boolean $x_negative
         * @param Array $y_value
         * @param Boolean $y_negative
         * @param Integer $stop
         * @return Array
         * @access private
         */
    
        /**
         * Montgomery Modular Reduction
         *
         * ($x->_prepMontgomery($n))->_montgomery($n) yields $x % $n.
         * {@link http://math.libtomcrypt.com/files/tommath.pdf#page=170 MPM 6.3} provides insights on how this can be
         * improved upon (basically, by using the comba method).  gcd($n, 2) must be equal to one for this function
         * to work correctly.
         *
         * @see _prepMontgomery()
         * @see _slidingWindow()
         * @access private
         * @param Array $x
         * @param Array $n
         * @return Array
         */
    
        /**
         * Montgomery Multiply
         *
         * Interleaves the montgomery reduction and long multiplication algorithms together as described in 
         * {@link http://www.cacr.math.uwaterloo.ca/hac/about/chap14.pdf#page=13 HAC 14.36}
         *
         * @see _prepMontgomery()
         * @see _montgomery()
         * @access private
         * @param Array $x
         * @param Array $y
         * @param Array $m
         * @return Array
         */
    
        /**
         * Prepare a number for use in Montgomery Modular Reductions
         *
         * @see _montgomery()
         * @see _slidingWindow()
         * @access private
         * @param Array $x
         * @param Array $n
         * @return Array
         */
    
        /**
         * Modular Inverse of a number mod 2**26 (eg. 67108864)
         *
         * Based off of the bnpInvDigit function implemented and justified in the following URL:
         *
         * {@link http://www-cs-students.stanford.edu/~tjw/jsbn/jsbn.js}
         *
         * The following URL provides more info:
         *
         * {@link http://groups.google.com/group/sci.crypt/msg/7a137205c1be7d85}
         *
         * As for why we do all the bitmasking...  strange things can happen when converting from floats to ints. For
         * instance, on some computers, var_dump((int) -4294967297) yields int(-1) and on others, it yields 
         * int(-2147483648).  To avoid problems stemming from this, we use bitmasks to guarantee that ints aren't
         * auto-converted to floats.  The outermost bitmask is present because without it, there's no guarantee that
         * the "residue" returned would be the so-called "common residue".  We use fmod, in the last step, because the
         * maximum possible $x is 26 bits and the maximum $result is 16 bits.  Thus, we have to be able to handle up to
         * 40 bits, which only 64-bit floating points will support.
         *
         * Thanks to Pedro Gimeno Fortea for input!
         *
         * @see _montgomery()
         * @access private
         * @param Array $x
         * @return Integer
         */
    
        /**
         * Calculates modular inverses.
         *
         * Say you have (30 mod 17 * x mod 17) mod 17 == 1.  x can be found using modular inverses.
         *
         * Here's an example:
         * 
         * modInverse($b);
         *    echo $c->toString(); // outputs 4
         *
         *    echo "\r\n";
         *
         *    $d = $a->multiply($c);
         *    list(, $d) = $d->divide($b);
         *    echo $d; // outputs 1 (as per the definition of modular inverse)
         * ?>
         * 
         *
         * @param Math_BigInteger $n
         * @return mixed false, if no modular inverse exists, Math_BigInteger, otherwise.
         * @access public
         * @internal See {@link http://www.cacr.math.uwaterloo.ca/hac/about/chap14.pdf#page=21 HAC 14.64} for more information.
         */
    
        /**
         * Calculates the greatest common divisor and Bezout's identity.
         *
         * Say you have 693 and 609.  The GCD is 21.  Bezout's identity states that there exist integers x and y such that
         * 693*x + 609*y == 21.  In point of fact, there are actually an infinite number of x and y combinations and which
         * combination is returned is dependant upon which mode is in use.  See
         * {@link http://en.wikipedia.org/wiki/B%C3%A9zout%27s_identity Bezout's identity - Wikipedia} for more information.
         *
         * Here's an example:
         * 
         * extendedGCD($b));
         *
         *    echo $gcd->toString() . "\r\n"; // outputs 21
         *    echo $a->toString() * $x->toString() + $b->toString() * $y->toString(); // outputs 21
         * ?>
         * 
         *
         * @param Math_BigInteger $n
         * @return Math_BigInteger
         * @access public
         * @internal Calculates the GCD using the binary xGCD algorithim described in
         *    {@link http://www.cacr.math.uwaterloo.ca/hac/about/chap14.pdf#page=19 HAC 14.61}.  As the text above 14.61 notes,
         *    the more traditional algorithim requires "relatively costly multiple-precision divisions".
         */
    
        /**
         * Calculates the greatest common divisor
         *
         * Say you have 693 and 609.  The GCD is 21.
         *
         * Here's an example:
         * 
         * extendedGCD($b);
         *
         *    echo $gcd->toString() . "\r\n"; // outputs 21
         * ?>
         * 
         *
         * @param Math_BigInteger $n
         * @return Math_BigInteger
         * @access public
         */
    
        /**
         * Absolute value.
         *
         * @return Math_BigInteger
         * @access public
         */
    
        /**
         * Compares two numbers.
         *
         * Although one might think !$x->compare($y) means $x != $y, it, in fact, means the opposite.  The reason for this is
         * demonstrated thusly:
         *
         * $x  > $y: $x->compare($y)  > 0
         * $x  < $y: $x->compare($y)  < 0
         * $x == $y: $x->compare($y) == 0
         *
         * Note how the same comparison operator is used.  If you want to test for equality, use $x->equals($y).
         *
         * @param Math_BigInteger $y
         * @return Integer < 0 if $this is less than $y; > 0 if $this is greater than $y, and 0 if they are equal.
         * @access public
         * @see equals()
         * @internal Could return $this->subtract($x), but that's not as fast as what we do do.
         */
    
        /**
         * Compares two numbers.
         *
         * @param Array $x_value
         * @param Boolean $x_negative
         * @param Array $y_value
         * @param Boolean $y_negative
         * @return Integer
         * @see compare()
         * @access private
         */
    
        /**
         * Tests the equality of two numbers.
         *
         * If you need to see if one number is greater than or less than another number, use Math_BigInteger::compare()
         *
         * @param Math_BigInteger $x
         * @return Boolean
         * @access public
         * @see compare()
         */
    
        /**
         * Set Precision
         *
         * Some bitwise operations give different results depending on the precision being used.  Examples include left
         * shift, not, and rotates.
         *
         * @param Integer $bits
         * @access public
         */
    
        /**
         * Logical And
         *
         * @param Math_BigInteger $x
         * @access public
         * @internal Implemented per a request by Lluis Pamies i Juarez 
         * @return Math_BigInteger
         */
    
        /**
         * Logical Or
         *
         * @param Math_BigInteger $x
         * @access public
         * @internal Implemented per a request by Lluis Pamies i Juarez 
         * @return Math_BigInteger
         */
    
        /**
         * Logical Exclusive-Or
         *
         * @param Math_BigInteger $x
         * @access public
         * @internal Implemented per a request by Lluis Pamies i Juarez 
         * @return Math_BigInteger
         */
    
        /**
         * Logical Not
         *
         * @access public
         * @internal Implemented per a request by Lluis Pamies i Juarez 
         * @return Math_BigInteger
         */
    
        /**
         * Logical Right Shift
         *
         * Shifts BigInteger's by $shift bits, effectively dividing by 2**$shift.
         *
         * @param Integer $shift
         * @return Math_BigInteger
         * @access public
         * @internal The only version that yields any speed increases is the internal version.
         */
    
        /**
         * Logical Left Shift
         *
         * Shifts BigInteger's by $shift bits, effectively multiplying by 2**$shift.
         *
         * @param Integer $shift
         * @return Math_BigInteger
         * @access public
         * @internal The only version that yields any speed increases is the internal version.
         */
    
        /**
         * Logical Left Rotate
         *
         * Instead of the top x bits being dropped they're appended to the shifted bit string.
         *
         * @param Integer $shift
         * @return Math_BigInteger
         * @access public
         */
    
        /**
         * Logical Right Rotate
         *
         * Instead of the bottom x bits being dropped they're prepended to the shifted bit string.
         *
         * @param Integer $shift
         * @return Math_BigInteger
         * @access public
         */
    
        /**
         * Set random number generator function
         *
         * This function is deprecated.
         *
         * @param String $generator
         * @access public
         */
    
        /**
         * Generate a random number
         *
         * @param optional Integer $min
         * @param optional Integer $max
         * @return Math_BigInteger
         * @access public
         */
    
        /**
         * Generate a random prime number.
         *
         * If there's not a prime within the given range, false will be returned.  If more than $timeout seconds have elapsed,
         * give up and return false.
         *
         * @param optional Integer $min
         * @param optional Integer $max
         * @param optional Integer $timeout
         * @return Math_BigInteger
         * @access public
         * @internal See {@link http://www.cacr.math.uwaterloo.ca/hac/about/chap4.pdf#page=15 HAC 4.44}.
         */
    
        /**
         * Make the current number odd
         *
         * If the current number is odd it'll be unchanged.  If it's even, one will be added to it.
         *
         * @see randomPrime()
         * @access private
         */
    
        /**
         * Checks a numer to see if it's prime
         *
         * Assuming the $t parameter is not set, this function has an error rate of 2**-80.  The main motivation for the
         * $t parameter is distributability.  Math_BigInteger::randomPrime() can be distributed accross multiple pageloads
         * on a website instead of just one.
         *
         * @param optional Integer $t
         * @return Boolean
         * @access public
         * @internal Uses the
         *     {@link http://en.wikipedia.org/wiki/Miller%E2%80%93Rabin_primality_test Miller-Rabin primality test}.  See 
         *     {@link http://www.cacr.math.uwaterloo.ca/hac/about/chap4.pdf#page=8 HAC 4.24}.
         */
    
        /**
         * Logical Left Shift
         *
         * Shifts BigInteger's by $shift bits.
         *
         * @param Integer $shift
         * @access private
         */
    
        /**
         * Logical Right Shift
         *
         * Shifts BigInteger's by $shift bits.
         *
         * @param Integer $shift
         * @access private
         */
    
        /**
         * Normalize
         *
         * Removes leading zeros and truncates (if necessary) to maintain the appropriate precision
         *
         * @param Math_BigInteger
         * @return Math_BigInteger
         * @see _trim()
         * @access private
         */
    
        /**
         * Trim
         *
         * Removes leading zeros
         *
         * @param Array $value
         * @return Math_BigInteger
         * @access private
         */
    
        /**
         * Array Repeat
         *
         * @param $input Array
         * @param $multiplier mixed
         * @return Array
         * @access private
         */
    
        /**
         * Logical Left Shift
         *
         * Shifts binary strings $shift bits, essentially multiplying by 2**$shift.
         *
         * @param $x String
         * @param $shift Integer
         * @return String
         * @access private
         */
    
        /**
         * Logical Right Shift
         *
         * Shifts binary strings $shift bits, essentially dividing by 2**$shift and returning the remainder.
         *
         * @param $x String
         * @param $shift Integer
         * @return String
         * @access private
         */
    
        /**
         * Converts 32-bit integers to bytes.
         *
         * @param Integer $x
         * @return String
         * @access private
         */
    
        /**
         * Converts bytes to 32-bit integers
         *
         * @param String $x
         * @return Integer
         * @access private
         */
    
        /**
         * DER-encode an integer
         *
         * The ability to DER-encode integers is needed to create RSA public keys for use with OpenSSL
         *
         * @see modPow()
         * @access private
         * @param Integer $length
         * @return String
         */
    

    File: /destinations/sftp/lib/phpseclib/Crypt/AES.php

    /* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
    
    /**
     * Pure-PHP implementation of AES.
     *
     * Uses mcrypt, if available, and an internal implementation, otherwise.
     *
     * PHP versions 4 and 5
     *
     * If {@link Crypt_AES::setKeyLength() setKeyLength()} isn't called, it'll be calculated from
     * {@link Crypt_AES::setKey() setKey()}.  ie. if the key is 128-bits, the key length will be 128-bits.  If it's 136-bits
     * it'll be null-padded to 160-bits and 160 bits will be the key length until {@link Crypt_Rijndael::setKey() setKey()}
     * is called, again, at which point, it'll be recalculated.
     *
     * Since Crypt_AES extends Crypt_Rijndael, some functions are available to be called that, in the context of AES, don't
     * make a whole lot of sense.  {@link Crypt_AES::setBlockLength() setBlockLength()}, for instance.  Calling that function,
     * however possible, won't do anything (AES has a fixed block length whereas Rijndael has a variable one).
     *
     * Here's a short example of how to use this library:
     * 
     * setKey('abcdefghijklmnop');
     *
     *    $size = 10 * 1024;
     *    $plaintext = '';
     *    for ($i = 0; $i < $size; $i++) {
     *        $plaintext.= 'a';
     *    }
     *
     *    echo $aes->decrypt($aes->encrypt($plaintext));
     * ?>
     * 
     *
     * LICENSE: Permission is hereby granted, free of charge, to any person obtaining a copy
     * of this software and associated documentation files (the "Software"), to deal
     * in the Software without restriction, including without limitation the rights
     * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
     * copies of the Software, and to permit persons to whom the Software is
     * furnished to do so, subject to the following conditions:
     * 
     * The above copyright notice and this permission notice shall be included in
     * all copies or substantial portions of the Software.
     * 
     * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
     * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
     * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
     * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
     * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
     * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
     * THE SOFTWARE.
     *
     * @category   Crypt
     * @package    Crypt_AES
     * @author     Jim Wigginton 
     * @copyright  MMVIII Jim Wigginton
     * @license    http://www.opensource.org/licenses/mit-license.html  MIT License
     * @link       http://phpseclib.sourceforge.net
     */
    
    /**
     * Include Crypt_Rijndael
     */
    
    /**#@+
     * @access public
     * @see Crypt_AES::encrypt()
     * @see Crypt_AES::decrypt()
     */
    
    /**
     * Encrypt / decrypt using the Counter mode.
     *
     * Set to -1 since that's what Crypt/Random.php uses to index the CTR mode.
     *
     * @link http://en.wikipedia.org/wiki/Block_cipher_modes_of_operation#Counter_.28CTR.29
     */
    
    /**
     * Encrypt / decrypt using the Electronic Code Book mode.
     *
     * @link http://en.wikipedia.org/wiki/Block_cipher_modes_of_operation#Electronic_codebook_.28ECB.29
     */
    
    /**
     * Encrypt / decrypt using the Code Book Chaining mode.
     *
     * @link http://en.wikipedia.org/wiki/Block_cipher_modes_of_operation#Cipher-block_chaining_.28CBC.29
     */
    
    /**
     * Encrypt / decrypt using the Cipher Feedback mode.
     *
     * @link http://en.wikipedia.org/wiki/Block_cipher_modes_of_operation#Cipher_feedback_.28CFB.29
     */
    
    /**
     * Encrypt / decrypt using the Cipher Feedback mode.
     *
     * @link http://en.wikipedia.org/wiki/Block_cipher_modes_of_operation#Output_feedback_.28OFB.29
     */
    
    /**#@-*/
    
    /**#@+
     * @access private
     * @see Crypt_AES::Crypt_AES()
     */
    
    /**
     * Toggles the internal implementation
     */
    
    /**
     * Toggles the mcrypt implementation
     */
    
    /**#@-*/
    
    /**
     * Pure-PHP implementation of AES.
     *
     * @author  Jim Wigginton 
     * @version 0.1.0
     * @access  public
     * @package Crypt_AES
     */
    

    Class: Crypt_AES extends Crypt_Rijndael

        /**
         * mcrypt resource for encryption
         *
         * The mcrypt resource can be recreated every time something needs to be created or it can be created just once.
         * Since mcrypt operates in continuous mode, by default, it'll need to be recreated when in non-continuous mode.
         *
         * @see Crypt_AES::encrypt()
         * @var String
         * @access private
         */
    
        /**
         * mcrypt resource for decryption
         *
         * The mcrypt resource can be recreated every time something needs to be created or it can be created just once.
         * Since mcrypt operates in continuous mode, by default, it'll need to be recreated when in non-continuous mode.
         *
         * @see Crypt_AES::decrypt()
         * @var String
         * @access private
         */
    
        /**
         * mcrypt resource for CFB mode
         *
         * @see Crypt_AES::encrypt()
         * @see Crypt_AES::decrypt()
         * @var String
         * @access private
         */
    
        /**
         * Default Constructor.
         *
         * Determines whether or not the mcrypt extension should be used.  $mode should only, at present, be
         * CRYPT_AES_MODE_ECB or CRYPT_AES_MODE_CBC.  If not explictly set, CRYPT_AES_MODE_CBC will be used.
         *
         * @param optional Integer $mode
         * @return Crypt_AES
         * @access public
         */
    
        /**
         * Dummy function
         *
         * Since Crypt_AES extends Crypt_Rijndael, this function is, technically, available, but it doesn't do anything.
         *
         * @access public
         * @param Integer $length
         */
    
        /**
         * Sets the initialization vector. (optional)
         *
         * SetIV is not required when CRYPT_RIJNDAEL_MODE_ECB is being used.  If not explictly set, it'll be assumed
         * to be all zero's.
         *
         * @access public
         * @param String $iv
         */
    
        /**
         * Encrypts a message.
         *
         * $plaintext will be padded with up to 16 additional bytes.  Other AES implementations may or may not pad in the
         * same manner.  Other common approaches to padding and the reasons why it's necessary are discussed in the following
         * URL:
         *
         * {@link http://www.di-mgt.com.au/cryptopad.html http://www.di-mgt.com.au/cryptopad.html}
         *
         * An alternative to padding is to, separately, send the length of the file.  This is what SSH, in fact, does.
         * strlen($plaintext) will still need to be a multiple of 16, however, arbitrary values can be added to make it that
         * length.
         *
         * @see Crypt_AES::decrypt()
         * @access public
         * @param String $plaintext
         */
    
        /**
         * Decrypts a message.
         *
         * If strlen($ciphertext) is not a multiple of 16, null bytes will be added to the end of the string until it is.
         *
         * @see Crypt_AES::encrypt()
         * @access public
         * @param String $ciphertext
         */
    
        /**
         * Setup mcrypt
         *
         * Validates all the variables.
         *
         * @access private
         */
    
        /**
         * Treat consecutive "packets" as if they are a continuous buffer.
         *
         * The default behavior.
         *
         * @see Crypt_Rijndael::disableContinuousBuffer()
         * @access public
         */
    
        /**
         * Treat consecutive packets as if they are a discontinuous buffer.
         *
         * The default behavior.
         *
         * @see Crypt_Rijndael::enableContinuousBuffer()
         * @access public
         */
    

    File: /destinations/sftp/lib/phpseclib/Crypt/Blowfish.php

    /* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
    
    /**
     * Pure-PHP implementation of Blowfish.
     *
     * Uses mcrypt, if available, and an internal implementation, otherwise.
     *
     * PHP versions 4 and 5
     *
     * Useful resources are as follows:
     *
     *  - {@link http://en.wikipedia.org/wiki/Blowfish Wikipedia description of Blowfish}
     *
     * Here's a short example of how to use this library:
     * 
     * setKey('12345678901234567890123456789012');
     *
     *    $plaintext = str_repeat('a', 1024);
     *
     *    echo $blowfish->decrypt($blowfish->encrypt($plaintext));
     * ?>
     * 
     *
     * LICENSE: Permission is hereby granted, free of charge, to any person obtaining a copy
     * of this software and associated documentation files (the "Software"), to deal
     * in the Software without restriction, including without limitation the rights
     * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
     * copies of the Software, and to permit persons to whom the Software is
     * furnished to do so, subject to the following conditions:
     *
     * The above copyright notice and this permission notice shall be included in
     * all copies or substantial portions of the Software.
     *
     * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
     * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
     * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
     * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
     * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
     * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
     * THE SOFTWARE.
     *
     * @category   Crypt
     * @package    Crypt_Blowfish
     * @author     Jim Wigginton 
     * @author     Hans-Juergen Petrich 
     * @copyright  MMVII Jim Wigginton
     * @license    http://www.opensource.org/licenses/mit-license.html  MIT License
     * @version    1.0
     * @link       http://phpseclib.sourceforge.net
     */
    
    /**#@+
     * @access public
     * @see Crypt_Blowfish::encrypt()
     * @see Crypt_Blowfish::decrypt()
     */
    
    /**
     * Encrypt / decrypt using the Counter mode.
     *
     * Set to -1 since that's what Crypt/Random.php uses to index the CTR mode.
     *
     * @link http://en.wikipedia.org/wiki/Block_cipher_modes_of_operation#Counter_.28CTR.29
     */
    
    /**
     * Encrypt / decrypt using the Electronic Code Book mode.
     *
     * @link http://en.wikipedia.org/wiki/Block_cipher_modes_of_operation#Electronic_codebook_.28ECB.29
     */
    
    /**
     * Encrypt / decrypt using the Code Book Chaining mode.
     *
     * @link http://en.wikipedia.org/wiki/Block_cipher_modes_of_operation#Cipher-block_chaining_.28CBC.29
     */
    
    /**
     * Encrypt / decrypt using the Cipher Feedback mode.
     *
     * @link http://en.wikipedia.org/wiki/Block_cipher_modes_of_operation#Cipher_feedback_.28CFB.29
     */
    
    /**
     * Encrypt / decrypt using the Cipher Feedback mode.
     *
     * @link http://en.wikipedia.org/wiki/Block_cipher_modes_of_operation#Output_feedback_.28OFB.29
     */
    
    /**#@-*/
    
    /**#@+
     * @access private
     * @see Crypt_Blowfish::Crypt_Blowfish()
     */
    
    /**
     * Toggles the internal implementation
     */
    
    /**
     * Toggles the mcrypt implementation
     */
    
    /**#@-*/
    
    /**
     * Pure-PHP implementation of Blowfish.
     *
     * @author  Jim Wigginton 
     * @author  Hans-Juergen Petrich 
     * @version 1.0
     * @access  public
     * @package Crypt_Blowfish
     */
    

    Class: Crypt_Blowfish

        /**
         * The Key as String
         *
         * @see Crypt_Blowfish::setKey()
         * @var Array
         * @access private
         */
    
        /**
         * The Encryption Mode
         *
         * @see Crypt_Blowfish::Crypt_Blowfish()
         * @var Integer
         * @access private
         */
    
        /**
         * Continuous Buffer status
         *
         * @see Crypt_Blowfish::enableContinuousBuffer()
         * @var Boolean
         * @access private
         */
    
        /**
         * Padding status
         *
         * @see Crypt_Blowfish::enablePadding()
         * @var Boolean
         * @access private
         */
    
        /**
         * The Initialization Vector
         *
         * @see Crypt_Blowfish::setIV()
         * @var String
         * @access private
         */
    
        /**
         * A "sliding" Initialization Vector
         *
         * @see Crypt_Blowfish::enableContinuousBuffer()
         * @var String
         * @access private
         */
    
        /**
         * A "sliding" Initialization Vector
         *
         * @see Crypt_Blowfish::enableContinuousBuffer()
         * @var String
         * @access private
         */
    
        /**
         * mcrypt resource for encryption
         *
         * The mcrypt resource can be recreated every time something needs to be created or it can be created just once.
         * Since mcrypt operates in continuous mode, by default, it'll need to be recreated when in non-continuous mode.
         *
         * @see Crypt_Blowfish::encrypt()
         * @var String
         * @access private
         */
    
        /**
         * mcrypt resource for decryption
         *
         * The mcrypt resource can be recreated every time something needs to be created or it can be created just once.
         * Since mcrypt operates in continuous mode, by default, it'll need to be recreated when in non-continuous mode.
         *
         * @see Crypt_Blowfish::decrypt()
         * @var String
         * @access private
         */
    
        /**
         * Does the enmcrypt resource need to be (re)initialized?
         *
         * @see Crypt_Blowfish::setKey()
         * @see Crypt_Blowfish::setIV()
         * @var Boolean
         * @access private
         */
    
        /**
         * Does the demcrypt resource need to be (re)initialized?
         *
         * @see Crypt_Blowfish::setKey()
         * @see Crypt_Blowfish::setIV()
         * @var Boolean
         * @access private
         */
    
        /**
         * Is the mode one that is paddable?
         *
         * @see Crypt_Blowfish::Crypt_Blowfish()
         * @var Boolean
         * @access private
         */
    
        /**
         * Encryption buffer for CTR, OFB and CFB modes
         *
         * @see Crypt_Blowfish::encrypt()
         * @var Array
         * @access private
         */
    
        /**
         * Decryption buffer for CTR, OFB and CFB modes
         *
         * @see Crypt_Blowfish::decrypt()
         * @var Array
         * @access private
         */
    
        /**
         * mcrypt resource for CFB mode
         *
         * @see Crypt_Blowfish::encrypt()
         * @see Crypt_Blowfish::decrypt()
         * @var String
         * @access private
         */
    
        /**
         * Performance-optimized callback function for en/decrypt()
         *
         * @var Callback
         * @access private
         */
    
        /**
         * The fixed subkeys boxes ($sbox0 - $sbox3) with 256 entries each
         *
         * S-Box 1
         *
         * @access private
         * @var    array
         */
    
        /**
         * S-Box 1
         *
         * @access private
         * @var    array
         */
    
        /**
         * S-Box 2
         *
         * @access private
         * @var    array
         */
    
        /**
         * S-Box 3
         *
         * @access private
         * @var    array
         */
    
        /**
         * P-Array consists of 18 32-bit subkeys
         *
         * @var array $parray
         * @access private
         */
    
        /**
         * The BCTX-working Array
         *
         * Holds the expanded key [p] and the key-depended s-boxes [sb]
         *
         * @var array $bctx
         * @access private
         */
    
        /**
         * Default Constructor.
         *
         * Determines whether or not the mcrypt extension should be used.
         * If not explictly set, CRYPT_BLOWFISH_MODE_CBC will be used.
         *
         * @param optional Integer $mode
         * @access public
         */
    
        /**
         * Sets the key.
         *
         * Keys can be of any length.  Blowfish, itself, requires the use of a key between 32 and max. 448-bits long.
         * If the key is less than 32-bits we NOT fill the key to 32bit but let the key as it is to be compatible
         * with mcrypt because mcrypt act this way with blowfish key's < 32 bits.
         *
         * If the key is more than 448-bits, we trim the excess bits.
         *
         * If the key is not explicitly set, or empty, it'll be assumed a 128 bits key to be all null bytes.
         *
         * @access public
         * @param String $key
         */
    
            /* key-expanding p[] and S-Box building sb[] */
    
        /**
         * Encrypt the block.
         *
         * @access private
         * @param  int $Xl left  uInt32 part of the block
         * @param  int $Xr right uInt32 part of the block
         * @return void
         */
    
        /**
         * Sets the password.
         *
         * Depending on what $method is set to, setPassword()'s (optional) parameters are as follows:
         *     {@link http://en.wikipedia.org/wiki/PBKDF2 pbkdf2}:
         *         $hash, $salt, $count
         *
         * @param String $password
         * @param optional String $method
         * @access public
         */
    
        /**
         * Sets the initialization vector. (optional)
         *
         * SetIV is not required when CRYPT_BLOWFISH_MODE_ECB is being used.  If not explictly set, it'll be assumed
         * to be all null bytes.
         *
         * @access public
         * @param String $iv
         */
    
        /**
         * Encrypts a message.
         *
         * $plaintext will be padded with up to 8 additional bytes.  Other Blowfish implementations may or may not pad in the
         * same manner.  Other common approaches to padding and the reasons why it's necessary are discussed in the following
         * URL:
         *
         * {@link http://www.di-mgt.com.au/cryptopad.html http://www.di-mgt.com.au/cryptopad.html}
         *
         * An alternative to padding is to, separately, send the length of the file.  This is what SSH, in fact, does.
         * strlen($plaintext) will still need to be a multiple of 8, however, arbitrary values can be added to make it that
         * length.
         *
         * @see Crypt_Blowfish::decrypt()
         * @access public
         * @param String $plaintext
         */
    
        /**
         * Decrypts a message.
         *
         * If strlen($ciphertext) is not a multiple of 8, null bytes will be added to the end of the string until it is.
         *
         * @see Crypt_Blowfish::encrypt()
         * @access public
         * @param String $ciphertext
         */
    
        /**
         * Treat consecutive "packets" as if they are a continuous buffer.
         *
         * @see Crypt_Blowfish::disableContinuousBuffer()
         * @access public
         */
    
        /**
         * Treat consecutive packets as if they are a discontinuous buffer.
         *
         * The default behavior.
         *
         * @see Crypt_Blowfish::enableContinuousBuffer()
         * @access public
         */
    
        /**
         * Pad "packets".
         *
         * Blowfish works by encrypting 8 bytes at a time.  If you ever need to encrypt or decrypt something that's not
         * a multiple of 8, it becomes necessary to pad the input so that it's length is a multiple of eight.
         *
         * Padding is enabled by default.  Sometimes, however, it is undesirable to pad strings.  Such is the case in SSH1,
         * where "packets" are padded with random bytes before being encrypted.  Unpad these packets and you risk stripping
         * away characters that shouldn't be stripped away. (SSH knows how many bytes are added because the length is
         * transmitted separately)
         *
         * @see Crypt_Blowfish::disablePadding()
         * @access public
         */
    
        /**
         * Do not pad packets.
         *
         * @see Crypt_Blowfish::enablePadding()
         * @access public
         */
    
        /**
         * Pads a string
         *
         * Pads a string using the RSA PKCS padding standards so that its length is a multiple of the blocksize (8).
         *
         * If padding is disabled and $text is not a multiple of the blocksize, the string will be padded regardless
         * and padding will, hence forth, be enabled.
         *
         * @see Crypt_Blowfish::_unpad()
         * @access private
         */
    
        /**
         * Unpads a string
         *
         * If padding is enabled and the reported padding length is invalid the encryption key will be assumed to be wrong
         * and false will be returned.
         *
         * @see Crypt_Blowfish::_pad()
         * @access private
         */
    
        /**
         * String Shift
         *
         * Inspired by array_shift
         *
         * @param String $string
         * @return String
         * @access private
         */
    
        /**
         * Generate CTR XOR encryption key
         *
         * Encrypt the output of this and XOR it against the ciphertext / plaintext to get the
         * plaintext / ciphertext in CTR mode.
         *
         * @see Crypt_Blowfish::decrypt()
         * @see Crypt_Blowfish::encrypt()
         * @access public
         * @param String $iv
         */
    
        /**
         * Creates performance-optimized function for de/encrypt(), storing it in $this->inline_crypt
         *
         * @access private
         */
    
        {/*{{{*/
    
        }/*}}}*/
    
        /**
         * Holds the lambda_functions table (classwide)
         *
         * @see inline_crypt_setup()
         * @return Array
         * @access private
         */
    

    File: /destinations/sftp/lib/phpseclib/Crypt/DES.php

    /* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
    
    /**
     * Pure-PHP implementation of DES.
     *
     * Uses mcrypt, if available, and an internal implementation, otherwise.
     *
     * PHP versions 4 and 5
     *
     * Useful resources are as follows:
     *
     *  - {@link http://en.wikipedia.org/wiki/DES_supplementary_material Wikipedia: DES supplementary material}
     *  - {@link http://www.itl.nist.gov/fipspubs/fip46-2.htm FIPS 46-2 - (DES), Data Encryption Standard}
     *  - {@link http://www.cs.eku.edu/faculty/styer/460/Encrypt/JS-DES.html JavaScript DES Example}
     *
     * Here's a short example of how to use this library:
     * 
     * setKey('abcdefgh');
     *
     *    $size = 10 * 1024;
     *    $plaintext = '';
     *    for ($i = 0; $i < $size; $i++) {
     *        $plaintext.= 'a';
     *    }
     *
     *    echo $des->decrypt($des->encrypt($plaintext));
     * ?>
     * 
     *
     * LICENSE: Permission is hereby granted, free of charge, to any person obtaining a copy
     * of this software and associated documentation files (the "Software"), to deal
     * in the Software without restriction, including without limitation the rights
     * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
     * copies of the Software, and to permit persons to whom the Software is
     * furnished to do so, subject to the following conditions:
     * 
     * The above copyright notice and this permission notice shall be included in
     * all copies or substantial portions of the Software.
     * 
     * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
     * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
     * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
     * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
     * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
     * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
     * THE SOFTWARE.
     *
     * @category   Crypt
     * @package    Crypt_DES
     * @author     Jim Wigginton 
     * @copyright  MMVII Jim Wigginton
     * @license    http://www.opensource.org/licenses/mit-license.html  MIT License
     * @link       http://phpseclib.sourceforge.net
     */
    
    /**#@+
     * @access private
     * @see Crypt_DES::_prepareKey()
     * @see Crypt_DES::_processBlock()
     */
    
    /**
     * Contains array_reverse($keys[CRYPT_DES_DECRYPT])
     */
    
    /**
     * Contains array_reverse($keys[CRYPT_DES_ENCRYPT])
     */
    
    /**
     * Contains $keys[CRYPT_DES_ENCRYPT] as 1-dim array
     */
    
    /**
     * Contains $keys[CRYPT_DES_DECRYPT] as 1-dim array
     */
    
    /**#@-*/
    
    /**#@+
     * @access public
     * @see Crypt_DES::encrypt()
     * @see Crypt_DES::decrypt()
     */
    
    /**
     * Encrypt / decrypt using the Counter mode.
     *
     * Set to -1 since that's what Crypt/Random.php uses to index the CTR mode.
     *
     * @link http://en.wikipedia.org/wiki/Block_cipher_modes_of_operation#Counter_.28CTR.29
     */
    
    /**
     * Encrypt / decrypt using the Electronic Code Book mode.
     *
     * @link http://en.wikipedia.org/wiki/Block_cipher_modes_of_operation#Electronic_codebook_.28ECB.29
     */
    
    /**
     * Encrypt / decrypt using the Code Book Chaining mode.
     *
     * @link http://en.wikipedia.org/wiki/Block_cipher_modes_of_operation#Cipher-block_chaining_.28CBC.29
     */
    
    /**
     * Encrypt / decrypt using the Cipher Feedback mode.
     *
     * @link http://en.wikipedia.org/wiki/Block_cipher_modes_of_operation#Cipher_feedback_.28CFB.29
     */
    
    /**
     * Encrypt / decrypt using the Cipher Feedback mode.
     *
     * @link http://en.wikipedia.org/wiki/Block_cipher_modes_of_operation#Output_feedback_.28OFB.29
     */
    
    /**#@-*/
    
    /**#@+
     * @access private
     * @see Crypt_DES::Crypt_DES()
     */
    
    /**
     * Toggles the internal implementation
     */
    
    /**
     * Toggles the mcrypt implementation
     */
    
    /**#@-*/
    
    /**
     * Pure-PHP implementation of DES.
     *
     * @author  Jim Wigginton 
     * @version 0.1.0
     * @access  public
     * @package Crypt_DES
     */
    

    Class: Crypt_DES

        /**
         * The Key Schedule
         *
         * @see Crypt_DES::setKey()
         * @var Array
         * @access private
         */
    
        /**
         * The Encryption Mode
         *
         * @see Crypt_DES::Crypt_DES()
         * @var Integer
         * @access private
         */
    
        /**
         * Continuous Buffer status
         *
         * @see Crypt_DES::enableContinuousBuffer()
         * @var Boolean
         * @access private
         */
    
        /**
         * Padding status
         *
         * @see Crypt_DES::enablePadding()
         * @var Boolean
         * @access private
         */
    
        /**
         * The Initialization Vector
         *
         * @see Crypt_DES::setIV()
         * @var String
         * @access private
         */
    
        /**
         * A "sliding" Initialization Vector
         *
         * @see Crypt_DES::enableContinuousBuffer()
         * @var String
         * @access private
         */
    
        /**
         * A "sliding" Initialization Vector
         *
         * @see Crypt_DES::enableContinuousBuffer()
         * @var String
         * @access private
         */
    
        /**
         * mcrypt resource for encryption
         *
         * The mcrypt resource can be recreated every time something needs to be created or it can be created just once.
         * Since mcrypt operates in continuous mode, by default, it'll need to be recreated when in non-continuous mode.
         *
         * @see Crypt_DES::encrypt()
         * @var String
         * @access private
         */
    
        /**
         * mcrypt resource for decryption
         *
         * The mcrypt resource can be recreated every time something needs to be created or it can be created just once.
         * Since mcrypt operates in continuous mode, by default, it'll need to be recreated when in non-continuous mode.
         *
         * @see Crypt_DES::decrypt()
         * @var String
         * @access private
         */
    
        /**
         * Does the enmcrypt resource need to be (re)initialized?
         *
         * @see Crypt_DES::setKey()
         * @see Crypt_DES::setIV()
         * @var Boolean
         * @access private
         */
    
        /**
         * Does the demcrypt resource need to be (re)initialized?
         *
         * @see Crypt_DES::setKey()
         * @see Crypt_DES::setIV()
         * @var Boolean
         * @access private
         */
    
        /**
         * Is the mode one that is paddable?
         *
         * @see Crypt_DES::Crypt_DES()
         * @var Boolean
         * @access private
         */
    
        /**
         * Encryption buffer for CTR, OFB and CFB modes
         *
         * @see Crypt_DES::encrypt()
         * @var Array
         * @access private
         */
    
        /**
         * Decryption buffer for CTR, OFB and CFB modes
         *
         * @see Crypt_DES::decrypt()
         * @var Array
         * @access private
         */
    
        /**
         * mcrypt resource for CFB mode
         *
         * @see Crypt_DES::encrypt()
         * @see Crypt_DES::decrypt()
         * @var String
         * @access private
         */
    
        /**
         * Performance-optimized callback function for en/decrypt()
         * 
         * @var Callback
         * @access private
         */
    
        /**
         * Holds whether performance-optimized $inline_crypt should be used or not.
         *
         * @var Boolean
         * @access private
         */
    
        /**
         * Shuffle table.
         *
         * For each byte value index, the entry holds an 8-byte string
         * with each byte containing all bits in the same state as the
         * corresponding bit in the index value.
         *
         * @see Crypt_DES::_processBlock()
         * @see Crypt_DES::_prepareKey()
         * @var Array
         * @access private
         */
    
        /**
         * IP mapping helper table.
         *
         * Indexing this table with each source byte performs the initial bit permutation.
         *
         * @var Array
         * @access private
         */
    
        /**
         * Inverse IP mapping helper table.
         * Indexing this table with a byte value reverses the bit order.
         *
         * @var Array
         * @access private
         */
    
        /**
         * Pre-permuted S-box1
         *
         * Each box ($sbox1-$sbox8) has been vectorized, then each value pre-permuted using the
         * P table: concatenation can then be replaced by exclusive ORs.
         *
         * @var Array
         * @access private
         */
    
        /**
         * Pre-permuted S-box2
         *
         * @var Array
         * @access private
         */
    
        /**
         * Pre-permuted S-box3
         *
         * @var Array
         * @access private
         */
    
        /**
         * Pre-permuted S-box4
         *
         * @var Array
         * @access private
         */
    
        /**
         * Pre-permuted S-box5
         *
         * @var Array
         * @access private
         */
    
        /**
         * Pre-permuted S-box6
         *
         * @var Array
         * @access private
         */
    
        /**
         * Pre-permuted S-box7
         *
         * @var Array
         * @access private
         */
    
        /**
         * Pre-permuted S-box8
         *
         * @var Array
         * @access private
         */
    
        /**
         * Default Constructor.
         *
         * Determines whether or not the mcrypt extension should be used.  $mode should only, at present, be
         * CRYPT_DES_MODE_ECB or CRYPT_DES_MODE_CBC.  If not explictly set, CRYPT_DES_MODE_CBC will be used.
         *
         * @param optional Integer $mode
         * @return Crypt_DES
         * @access public
         */
    
        /**
         * Sets the key.
         *
         * Keys can be of any length.  DES, itself, uses 64-bit keys (eg. strlen($key) == 8), however, we
         * only use the first eight, if $key has more then eight characters in it, and pad $key with the
         * null byte if it is less then eight characters long.
         *
         * DES also requires that every eighth bit be a parity bit, however, we'll ignore that.
         *
         * If the key is not explicitly set, it'll be assumed to be all zero's.
         *
         * @access public
         * @param String $key
         */
    
        /**
         * Sets the password.
         *
         * Depending on what $method is set to, setPassword()'s (optional) parameters are as follows:
         *     {@link http://en.wikipedia.org/wiki/PBKDF2 pbkdf2}:
         *         $hash, $salt, $count
         *
         * @param String $password
         * @param optional String $method
         * @access public
         */
    
        /**
         * Sets the initialization vector. (optional)
         *
         * SetIV is not required when CRYPT_DES_MODE_ECB is being used.  If not explictly set, it'll be assumed
         * to be all zero's.
         *
         * @access public
         * @param String $iv
         */
    
        /**
         * Generate CTR XOR encryption key
         *
         * Encrypt the output of this and XOR it against the ciphertext / plaintext to get the
         * plaintext / ciphertext in CTR mode.
         *
         * @see Crypt_DES::decrypt()
         * @see Crypt_DES::encrypt()
         * @access public
         * @param String $iv
         */
    
        /**
         * Encrypts a message.
         *
         * $plaintext will be padded with up to 8 additional bytes.  Other DES implementations may or may not pad in the
         * same manner.  Other common approaches to padding and the reasons why it's necessary are discussed in the following
         * URL:
         *
         * {@link http://www.di-mgt.com.au/cryptopad.html http://www.di-mgt.com.au/cryptopad.html}
         *
         * An alternative to padding is to, separately, send the length of the file.  This is what SSH, in fact, does.
         * strlen($plaintext) will still need to be a multiple of 8, however, arbitrary values can be added to make it that
         * length.
         *
         * @see Crypt_DES::decrypt()
         * @access public
         * @param String $plaintext
         */
    
        /**
         * Decrypts a message.
         *
         * If strlen($ciphertext) is not a multiple of 8, null bytes will be added to the end of the string until it is.
         *
         * @see Crypt_DES::encrypt()
         * @access public
         * @param String $ciphertext
         */
    
        /**
         * Treat consecutive "packets" as if they are a continuous buffer.
         *
         * Say you have a 16-byte plaintext $plaintext.  Using the default behavior, the two following code snippets
         * will yield different outputs:
         *
         * 
         *    echo $des->encrypt(substr($plaintext, 0, 8));
         *    echo $des->encrypt(substr($plaintext, 8, 8));
         * 
         * 
         *    echo $des->encrypt($plaintext);
         * 
         *
         * The solution is to enable the continuous buffer.  Although this will resolve the above discrepancy, it creates
         * another, as demonstrated with the following:
         *
         * 
         *    $des->encrypt(substr($plaintext, 0, 8));
         *    echo $des->decrypt($des->encrypt(substr($plaintext, 8, 8)));
         * 
         * 
         *    echo $des->decrypt($des->encrypt(substr($plaintext, 8, 8)));
         * 
         *
         * With the continuous buffer disabled, these would yield the same output.  With it enabled, they yield different
         * outputs.  The reason is due to the fact that the initialization vector's change after every encryption /
         * decryption round when the continuous buffer is enabled.  When it's disabled, they remain constant.
         *
         * Put another way, when the continuous buffer is enabled, the state of the Crypt_DES() object changes after each
         * encryption / decryption round, whereas otherwise, it'd remain constant.  For this reason, it's recommended that
         * continuous buffers not be used.  They do offer better security and are, in fact, sometimes required (SSH uses them),
         * however, they are also less intuitive and more likely to cause you problems.
         *
         * @see Crypt_DES::disableContinuousBuffer()
         * @access public
         */
    
        /**
         * Treat consecutive packets as if they are a discontinuous buffer.
         *
         * The default behavior.
         *
         * @see Crypt_DES::enableContinuousBuffer()
         * @access public
         */
    
        /**
         * Pad "packets".
         *
         * DES works by encrypting eight bytes at a time.  If you ever need to encrypt or decrypt something that's not
         * a multiple of eight, it becomes necessary to pad the input so that it's length is a multiple of eight.
         *
         * Padding is enabled by default.  Sometimes, however, it is undesirable to pad strings.  Such is the case in SSH1,
         * where "packets" are padded with random bytes before being encrypted.  Unpad these packets and you risk stripping
         * away characters that shouldn't be stripped away. (SSH knows how many bytes are added because the length is
         * transmitted separately)
         *
         * @see Crypt_DES::disablePadding()
         * @access public
         */
    
        /**
         * Do not pad packets.
         *
         * @see Crypt_DES::enablePadding()
         * @access public
         */
    
        /**
         * Pads a string
         *
         * Pads a string using the RSA PKCS padding standards so that its length is a multiple of the blocksize (8).
         * 8 - (strlen($text) & 7) bytes are added, each of which is equal to chr(8 - (strlen($text) & 7)
         *
         * If padding is disabled and $text is not a multiple of the blocksize, the string will be padded regardless
         * and padding will, hence forth, be enabled.
         *
         * @see Crypt_DES::_unpad()
         * @access private
         */
    
        /**
         * Unpads a string
         *
         * If padding is enabled and the reported padding length is invalid the encryption key will be assumed to be wrong
         * and false will be returned.
         *
         * @see Crypt_DES::_pad()
         * @access private
         */
    
        /**
         * Encrypts or decrypts a 64-bit block
         *
         * $mode should be either CRYPT_DES_ENCRYPT or CRYPT_DES_DECRYPT.  See
         * {@link http://en.wikipedia.org/wiki/Image:Feistel.png Feistel.png} to get a general
         * idea of what this function does.
         *
         * @access private
         * @param String $block
         * @param Integer $mode
         * @return String
         */
    
        /**
         * Creates the key schedule.
         *
         * @access private
         * @param String $key
         * @return Array
         */
    
        /**
         * String Shift
         *
         * Inspired by array_shift
         *
         * @param String $string
         * @return String
         * @access private
         */
    
        /**
         * Creates performance-optimized function for de/encrypt(), storing it in $this->inline_crypt
         *
         * @param optional Integer $des_rounds (1 = DES[default], 3 = TribleDES)
         * @access private
         */
    
                    '.'' /* Extract L0 and R0 */ .'
    
        /**
         * Holds the lambda_functions table (classwide)
         *
         * @see inline_crypt_setup()
         * @return Array
         * @access private
         */
    

    File: /destinations/sftp/lib/phpseclib/Crypt/Hash.php

    /* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
    
    /**
     * Pure-PHP implementations of keyed-hash message authentication codes (HMACs) and various cryptographic hashing functions.
     *
     * Uses hash() or mhash() if available and an internal implementation, otherwise.  Currently supports the following:
     *
     * md2, md5, md5-96, sha1, sha1-96, sha256, sha384, and sha512
     *
     * If {@link Crypt_Hash::setKey() setKey()} is called, {@link Crypt_Hash::hash() hash()} will return the HMAC as opposed to
     * the hash.  If no valid algorithm is provided, sha1 will be used.
     *
     * PHP versions 4 and 5
     *
     * {@internal The variable names are the same as those in 
     * {@link http://tools.ietf.org/html/rfc2104#section-2 RFC2104}.}}
     *
     * Here's a short example of how to use this library:
     * 
     * setKey('abcdefg');
     *
     *    echo base64_encode($hash->hash('abcdefg'));
     * ?>
     * 
     *
     * LICENSE: Permission is hereby granted, free of charge, to any person obtaining a copy
     * of this software and associated documentation files (the "Software"), to deal
     * in the Software without restriction, including without limitation the rights
     * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
     * copies of the Software, and to permit persons to whom the Software is
     * furnished to do so, subject to the following conditions:
     * 
     * The above copyright notice and this permission notice shall be included in
     * all copies or substantial portions of the Software.
     * 
     * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
     * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
     * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
     * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
     * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
     * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
     * THE SOFTWARE.
     *
     * @category   Crypt
     * @package    Crypt_Hash
     * @author     Jim Wigginton 
     * @copyright  MMVII Jim Wigginton
     * @license    http://www.opensource.org/licenses/mit-license.html  MIT License
     * @link       http://phpseclib.sourceforge.net
     */
    
    /**#@+
     * @access private
     * @see Crypt_Hash::Crypt_Hash()
     */
    
    /**
     * Toggles the internal implementation
     */
    
    /**
     * Toggles the mhash() implementation, which has been deprecated on PHP 5.3.0+.
     */
    
    /**
     * Toggles the hash() implementation, which works on PHP 5.1.2+.
     */
    
    /**#@-*/
    
    /**
     * Pure-PHP implementations of keyed-hash message authentication codes (HMACs) and various cryptographic hashing functions.
     *
     * @author  Jim Wigginton 
     * @version 0.1.0
     * @access  public
     * @package Crypt_Hash
     */
    

    Class: Crypt_Hash

        /**
         * Byte-length of compression blocks / key (Internal HMAC)
         *
         * @see Crypt_Hash::setAlgorithm()
         * @var Integer
         * @access private
         */
    
        /**
         * Byte-length of hash output (Internal HMAC)
         *
         * @see Crypt_Hash::setHash()
         * @var Integer
         * @access private
         */
    
        /**
         * Hash Algorithm
         *
         * @see Crypt_Hash::setHash()
         * @var String
         * @access private
         */
    
        /**
         * Key
         *
         * @see Crypt_Hash::setKey()
         * @var String
         * @access private
         */
    
        /**
         * Outer XOR (Internal HMAC)
         *
         * @see Crypt_Hash::setKey()
         * @var String
         * @access private
         */
    
        /**
         * Inner XOR (Internal HMAC)
         *
         * @see Crypt_Hash::setKey()
         * @var String
         * @access private
         */
    
        /**
         * Default Constructor.
         *
         * @param optional String $hash
         * @return Crypt_Hash
         * @access public
         */
    
        /**
         * Sets the key for HMACs
         *
         * Keys can be of any length.
         *
         * @access public
         * @param optional String $key
         */
    
        /**
         * Sets the hash function.
         *
         * @access public
         * @param String $hash
         */
    
        /**
         * Compute the HMAC.
         *
         * @access public
         * @param String $text
         * @return String
         */
    
                        /* "Applications that use keys longer than B bytes will first hash the key using H and then use the
                            resultant L byte string as the actual key to HMAC."
    
                            -- http://tools.ietf.org/html/rfc2104#section-2 */
    
        /**
         * Returns the hash length (in bytes)
         *
         * @access public
         * @return Integer
         */
    
        /**
         * Wrapper for MD5
         *
         * @access private
         * @param String $m
         */
    
        /**
         * Wrapper for SHA1
         *
         * @access private
         * @param String $m
         */
    
        /**
         * Pure-PHP implementation of MD2
         *
         * See {@link http://tools.ietf.org/html/rfc1319 RFC1319}.
         *
         * @access private
         * @param String $m
         */
    
        /**
         * Pure-PHP implementation of SHA256
         *
         * See {@link http://en.wikipedia.org/wiki/SHA_hash_functions#SHA-256_.28a_SHA-2_variant.29_pseudocode SHA-256 (a SHA-2 variant) pseudocode - Wikipedia}.
         *
         * @access private
         * @param String $m
         */
    
        /**
         * Pure-PHP implementation of SHA384 and SHA512
         *
         * @access private
         * @param String $m
         */
    
        /**
         * Right Rotate
         *
         * @access private
         * @param Integer $int
         * @param Integer $amt
         * @see _sha256()
         * @return Integer
         */
    
        /**
         * Right Shift
         *
         * @access private
         * @param Integer $int
         * @param Integer $amt
         * @see _sha256()
         * @return Integer
         */
    
        /**
         * Not
         *
         * @access private
         * @param Integer $int
         * @see _sha256()
         * @return Integer
         */
    
        /**
         * Add
         *
         * _sha256() adds multiple unsigned 32-bit integers.  Since PHP doesn't support unsigned integers and since the
         * possibility of overflow exists, care has to be taken.  Math_BigInteger() could be used but this should be faster.
         *
         * @param Integer $...
         * @return Integer
         * @see _sha256()
         * @access private
         */
    
        /**
         * String Shift
         *
         * Inspired by array_shift
         *
         * @param String $string
         * @param optional Integer $index
         * @return String
         * @access private
         */
    

    File: /destinations/sftp/lib/phpseclib/Crypt/RC4.php

    /* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
    
    /**
     * Pure-PHP implementation of RC4.
     *
     * Uses mcrypt, if available, and an internal implementation, otherwise.
     *
     * PHP versions 4 and 5
     *
     * Useful resources are as follows:
     *
     *  - {@link http://www.mozilla.org/projects/security/pki/nss/draft-kaukonen-cipher-arcfour-03.txt ARCFOUR Algorithm}
     *  - {@link http://en.wikipedia.org/wiki/RC4 - Wikipedia: RC4}
     *
     * RC4 is also known as ARCFOUR or ARC4.  The reason is elaborated upon at Wikipedia.  This class is named RC4 and not
     * ARCFOUR or ARC4 because RC4 is how it is referred to in the SSH1 specification.
     *
     * Here's a short example of how to use this library:
     * 
     * setKey('abcdefgh');
     *
     *    $size = 10 * 1024;
     *    $plaintext = '';
     *    for ($i = 0; $i < $size; $i++) {
     *        $plaintext.= 'a';
     *    }
     *
     *    echo $rc4->decrypt($rc4->encrypt($plaintext));
     * ?>
     * 
     *
     * LICENSE: Permission is hereby granted, free of charge, to any person obtaining a copy
     * of this software and associated documentation files (the "Software"), to deal
     * in the Software without restriction, including without limitation the rights
     * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
     * copies of the Software, and to permit persons to whom the Software is
     * furnished to do so, subject to the following conditions:
     * 
     * The above copyright notice and this permission notice shall be included in
     * all copies or substantial portions of the Software.
     * 
     * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
     * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
     * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
     * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
     * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
     * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
     * THE SOFTWARE.
     *
     * @category   Crypt
     * @package    Crypt_RC4
     * @author     Jim Wigginton 
     * @copyright  MMVII Jim Wigginton
     * @license    http://www.opensource.org/licenses/mit-license.html  MIT License
     * @link       http://phpseclib.sourceforge.net
     */
    
    /**#@+
     * @access private
     * @see Crypt_RC4::Crypt_RC4()
     */
    
    /**
     * Toggles the internal implementation
     */
    
    /**
     * Toggles the mcrypt implementation
     */
    
    /**#@-*/
    
    /**#@+
     * @access private
     * @see Crypt_RC4::_crypt()
     */
    
    /**#@-*/
    
    /**
     * Pure-PHP implementation of RC4.
     *
     * @author  Jim Wigginton 
     * @version 0.1.0
     * @access  public
     * @package Crypt_RC4
     */
    

    Class: Crypt_RC4

        /**
         * The Key
         *
         * @see Crypt_RC4::setKey()
         * @var String
         * @access private
         */
    
        /**
         * The Key Stream for encryption
         *
         * If CRYPT_RC4_MODE == CRYPT_RC4_MODE_MCRYPT, this will be equal to the mcrypt object
         *
         * @see Crypt_RC4::setKey()
         * @var Array
         * @access private
         */
    
        /**
         * The Key Stream for decryption
         *
         * If CRYPT_RC4_MODE == CRYPT_RC4_MODE_MCRYPT, this will be equal to the mcrypt object
         *
         * @see Crypt_RC4::setKey()
         * @var Array
         * @access private
         */
    
        /**
         * The $i and $j indexes for encryption
         *
         * @see Crypt_RC4::_crypt()
         * @var Integer
         * @access private
         */
    
        /**
         * The $i and $j indexes for decryption
         *
         * @see Crypt_RC4::_crypt()
         * @var Integer
         * @access private
         */
    
        /**
         * The Encryption Algorithm
         *
         * Only used if CRYPT_RC4_MODE == CRYPT_RC4_MODE_MCRYPT.  Only possible values are MCRYPT_RC4 or MCRYPT_ARCFOUR.
         *
         * @see Crypt_RC4::Crypt_RC4()
         * @var Integer
         * @access private
         */
    
        /**
         * Continuous Buffer status
         *
         * @see Crypt_RC4::enableContinuousBuffer()
         * @var Boolean
         * @access private
         */
    
        /**
         * Default Constructor.
         *
         * Determines whether or not the mcrypt extension should be used.
         *
         * @return Crypt_RC4
         * @access public
         */
    
        /**
         * Sets the key.
         *
         * Keys can be between 1 and 256 bytes long.  If they are longer then 256 bytes, the first 256 bytes will
         * be used.  If no key is explicitly set, it'll be assumed to be a single null byte.
         *
         * @access public
         * @param String $key
         */
    
        /**
         * Sets the password.
         *
         * Depending on what $method is set to, setPassword()'s (optional) parameters are as follows:
         *     {@link http://en.wikipedia.org/wiki/PBKDF2 pbkdf2}:
         *         $hash, $salt, $count, $dkLen
         *
         * @param String $password
         * @param optional String $method
         * @access public
         */
    
        /**
         * Dummy function.
         *
         * Some protocols, such as WEP, prepend an "initialization vector" to the key, effectively creating a new key [1].
         * If you need to use an initialization vector in this manner, feel free to prepend it to the key, yourself, before
         * calling setKey().
         *
         * [1] WEP's initialization vectors (IV's) are used in a somewhat insecure way.  Since, in that protocol,
         * the IV's are relatively easy to predict, an attack described by
         * {@link http://www.drizzle.com/~aboba/IEEE/rc4_ksaproc.pdf Scott Fluhrer, Itsik Mantin, and Adi Shamir}
         * can be used to quickly guess at the rest of the key.  The following links elaborate:
         *
         * {@link http://www.rsa.com/rsalabs/node.asp?id=2009 http://www.rsa.com/rsalabs/node.asp?id=2009}
         * {@link http://en.wikipedia.org/wiki/Related_key_attack http://en.wikipedia.org/wiki/Related_key_attack}
         *
         * @param String $iv
         * @see Crypt_RC4::setKey()
         * @access public
         */
    
        /**
         * Encrypts a message.
         *
         * @see Crypt_RC4::_crypt()
         * @access public
         * @param String $plaintext
         */
    
        /**
         * Decrypts a message.
         *
         * $this->decrypt($this->encrypt($plaintext)) == $this->encrypt($this->encrypt($plaintext)).
         * Atleast if the continuous buffer is disabled.
         *
         * @see Crypt_RC4::_crypt()
         * @access public
         * @param String $ciphertext
         */
    
        /**
         * Encrypts or decrypts a message.
         *
         * @see Crypt_RC4::encrypt()
         * @see Crypt_RC4::decrypt()
         * @access private
         * @param String $text
         * @param Integer $mode
         */
    
        /**
         * Treat consecutive "packets" as if they are a continuous buffer.
         *
         * Say you have a 16-byte plaintext $plaintext.  Using the default behavior, the two following code snippets
         * will yield different outputs:
         *
         * 
         *    echo $rc4->encrypt(substr($plaintext, 0, 8));
         *    echo $rc4->encrypt(substr($plaintext, 8, 8));
         * 
         * 
         *    echo $rc4->encrypt($plaintext);
         * 
         *
         * The solution is to enable the continuous buffer.  Although this will resolve the above discrepancy, it creates
         * another, as demonstrated with the following:
         *
         * 
         *    $rc4->encrypt(substr($plaintext, 0, 8));
         *    echo $rc4->decrypt($des->encrypt(substr($plaintext, 8, 8)));
         * 
         * 
         *    echo $rc4->decrypt($des->encrypt(substr($plaintext, 8, 8)));
         * 
         *
         * With the continuous buffer disabled, these would yield the same output.  With it enabled, they yield different
         * outputs.  The reason is due to the fact that the initialization vector's change after every encryption /
         * decryption round when the continuous buffer is enabled.  When it's disabled, they remain constant.
         *
         * Put another way, when the continuous buffer is enabled, the state of the Crypt_DES() object changes after each
         * encryption / decryption round, whereas otherwise, it'd remain constant.  For this reason, it's recommended that
         * continuous buffers not be used.  They do offer better security and are, in fact, sometimes required (SSH uses them),
         * however, they are also less intuitive and more likely to cause you problems.
         *
         * @see Crypt_RC4::disableContinuousBuffer()
         * @access public
         */
    
        /**
         * Treat consecutive packets as if they are a discontinuous buffer.
         *
         * The default behavior.
         *
         * @see Crypt_RC4::enableContinuousBuffer()
         * @access public
         */
    
        /**
         * Dummy function.
         *
         * Since RC4 is a stream cipher and not a block cipher, no padding is necessary.  The only reason this function is
         * included is so that you can switch between a block cipher and a stream cipher transparently.
         *
         * @see Crypt_RC4::disablePadding()
         * @access public
         */
    
        /**
         * Dummy function.
         *
         * @see Crypt_RC4::enablePadding()
         * @access public
         */
    

    File: /destinations/sftp/lib/phpseclib/Crypt/RSA.php

    /* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
    
    /**
     * Pure-PHP PKCS#1 (v2.1) compliant implementation of RSA.
     *
     * PHP versions 4 and 5
     *
     * Here's an example of how to encrypt and decrypt text with this library:
     * 
     * createKey());
     *
     *    $plaintext = 'terrafrost';
     *
     *    $rsa->loadKey($privatekey);
     *    $ciphertext = $rsa->encrypt($plaintext);
     *
     *    $rsa->loadKey($publickey);
     *    echo $rsa->decrypt($ciphertext);
     * ?>
     * 
     *
     * Here's an example of how to create signatures and verify signatures with this library:
     * 
     * createKey());
     *
     *    $plaintext = 'terrafrost';
     *
     *    $rsa->loadKey($privatekey);
     *    $signature = $rsa->sign($plaintext);
     *
     *    $rsa->loadKey($publickey);
     *    echo $rsa->verify($plaintext, $signature) ? 'verified' : 'unverified';
     * ?>
     * 
     *
     * LICENSE: Permission is hereby granted, free of charge, to any person obtaining a copy
     * of this software and associated documentation files (the "Software"), to deal
     * in the Software without restriction, including without limitation the rights
     * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
     * copies of the Software, and to permit persons to whom the Software is
     * furnished to do so, subject to the following conditions:
     * 
     * The above copyright notice and this permission notice shall be included in
     * all copies or substantial portions of the Software.
     * 
     * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
     * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
     * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
     * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
     * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
     * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
     * THE SOFTWARE.
     *
     * @category   Crypt
     * @package    Crypt_RSA
     * @author     Jim Wigginton 
     * @copyright  MMIX Jim Wigginton
     * @license    http://www.opensource.org/licenses/mit-license.html  MIT License
     * @link       http://phpseclib.sourceforge.net
     */
    
    /**
     * Include Crypt_Random
     */
    
    /**
     * Include Crypt_Hash
     */
    
    /**#@+
     * @access public
     * @see Crypt_RSA::encrypt()
     * @see Crypt_RSA::decrypt()
     */
    
    /**
     * Use {@link http://en.wikipedia.org/wiki/Optimal_Asymmetric_Encryption_Padding Optimal Asymmetric Encryption Padding}
     * (OAEP) for encryption / decryption.
     *
     * Uses sha1 by default.
     *
     * @see Crypt_RSA::setHash()
     * @see Crypt_RSA::setMGFHash()
     */
    
    /**
     * Use PKCS#1 padding.
     *
     * Although CRYPT_RSA_ENCRYPTION_OAEP offers more security, including PKCS#1 padding is necessary for purposes of backwards
     * compatability with protocols (like SSH-1) written before OAEP's introduction.
     */
    
    /**#@-*/
    
    /**#@+
     * @access public
     * @see Crypt_RSA::sign()
     * @see Crypt_RSA::verify()
     * @see Crypt_RSA::setHash()
     */
    
    /**
     * Use the Probabilistic Signature Scheme for signing
     *
     * Uses sha1 by default.
     *
     * @see Crypt_RSA::setSaltLength()
     * @see Crypt_RSA::setMGFHash()
     */
    
    /**
     * Use the PKCS#1 scheme by default.
     *
     * Although CRYPT_RSA_SIGNATURE_PSS offers more security, including PKCS#1 signing is necessary for purposes of backwards
     * compatability with protocols (like SSH-2) written before PSS's introduction.
     */
    
    /**#@-*/
    
    /**#@+
     * @access private
     * @see Crypt_RSA::createKey()
     */
    
    /**
     * ASN1 Integer
     */
    
    /**
     * ASN1 Bit String
     */
    
    /**
     * ASN1 Sequence (with the constucted bit set)
     */
    
    /**#@-*/
    
    /**#@+
     * @access private
     * @see Crypt_RSA::Crypt_RSA()
     */
    
    /**
     * To use the pure-PHP implementation
     */
    
    /**
     * To use the OpenSSL library
     *
     * (if enabled; otherwise, the internal implementation will be used)
     */
    
    /**#@-*/
    
    /**
     * Default openSSL configuration file.
     */
    
    /**#@+
     * @access public
     * @see Crypt_RSA::createKey()
     * @see Crypt_RSA::setPrivateKeyFormat()
     */
    
    /**
     * PKCS#1 formatted private key
     *
     * Used by OpenSSH
     */
    
    /**
     * PuTTY formatted private key
     */
    
    /**
     * XML formatted private key
     */
    
    /**#@-*/
    
    /**#@+
     * @access public
     * @see Crypt_RSA::createKey()
     * @see Crypt_RSA::setPublicKeyFormat()
     */
    
    /**
     * Raw public key
     *
     * An array containing two Math_BigInteger objects.
     *
     * The exponent can be indexed with any of the following:
     *
     * 0, e, exponent, publicExponent
     *
     * The modulus can be indexed with any of the following:
     *
     * 1, n, modulo, modulus
     */
    
    /**
     * PKCS#1 formatted public key (raw)
     *
     * Used by File/X509.php
     */
    
    /**
     * XML formatted public key
     */
    
    /**
     * OpenSSH formatted public key
     *
     * Place in $HOME/.ssh/authorized_keys
     */
    
    /**
     * PKCS#1 formatted public key (encapsulated)
     *
     * Used by PHP's openssl_public_encrypt() and openssl's rsautl (when -pubin is set)
     */
    
    /**#@-*/
    
    /**
     * Pure-PHP PKCS#1 compliant implementation of RSA.
     *
     * @author  Jim Wigginton 
     * @version 0.1.0
     * @access  public
     * @package Crypt_RSA
     */
    

    Class: Crypt_RSA

        /**
         * Precomputed Zero
         *
         * @var Array
         * @access private
         */
    
        /**
         * Precomputed One
         *
         * @var Array
         * @access private
         */
    
        /**
         * Private Key Format
         *
         * @var Integer
         * @access private
         */
    
        /**
         * Public Key Format
         *
         * @var Integer
         * @access public
         */
    
        /**
         * Modulus (ie. n)
         *
         * @var Math_BigInteger
         * @access private
         */
    
        /**
         * Modulus length
         *
         * @var Math_BigInteger
         * @access private
         */
    
        /**
         * Exponent (ie. e or d)
         *
         * @var Math_BigInteger
         * @access private
         */
    
        /**
         * Primes for Chinese Remainder Theorem (ie. p and q)
         *
         * @var Array
         * @access private
         */
    
        /**
         * Exponents for Chinese Remainder Theorem (ie. dP and dQ)
         *
         * @var Array
         * @access private
         */
    
        /**
         * Coefficients for Chinese Remainder Theorem (ie. qInv)
         *
         * @var Array
         * @access private
         */
    
        /**
         * Hash name
         *
         * @var String
         * @access private
         */
    
        /**
         * Hash function
         *
         * @var Crypt_Hash
         * @access private
         */
    
        /**
         * Length of hash function output
         *
         * @var Integer
         * @access private
         */
    
        /**
         * Length of salt
         *
         * @var Integer
         * @access private
         */
    
        /**
         * Hash function for the Mask Generation Function
         *
         * @var Crypt_Hash
         * @access private
         */
    
        /**
         * Length of MGF hash function output
         *
         * @var Integer
         * @access private
         */
    
        /**
         * Encryption mode
         *
         * @var Integer
         * @access private
         */
    
        /**
         * Signature mode
         *
         * @var Integer
         * @access private
         */
    
        /**
         * Public Exponent
         *
         * @var Mixed
         * @access private
         */
    
        /**
         * Password
         *
         * @var String
         * @access private
         */
    
        /**
         * Components
         *
         * For use with parsing XML formatted keys.  PHP's XML Parser functions use utilized - instead of PHP's DOM functions -
         * because PHP's XML Parser functions work on PHP4 whereas PHP's DOM functions - although surperior - don't.
         *
         * @see Crypt_RSA::_start_element_handler()
         * @var Array
         * @access private
         */
    
        /**
         * Current String
         *
         * For use with parsing XML formatted keys.
         *
         * @see Crypt_RSA::_character_handler()
         * @see Crypt_RSA::_stop_element_handler()
         * @var Mixed
         * @access private
         */
    
        /**
         * OpenSSL configuration file name.
         *
         * Set to NULL to use system configuration file.
         * @see Crypt_RSA::createKey()
         * @var Mixed
         * @Access public
         */
    
        /**
         * Public key comment field.
         *
         * @var String
         * @access private
         */
    
        /**
         * The constructor
         *
         * If you want to make use of the openssl extension, you'll need to set the mode manually, yourself.  The reason
         * Crypt_RSA doesn't do it is because OpenSSL doesn't fail gracefully.  openssl_pkey_new(), in particular, requires
         * openssl.cnf be present somewhere and, unfortunately, the only real way to find out is too late.
         *
         * @return Crypt_RSA
         * @access public
         */
    
        /**
         * Create public / private key pair
         *
         * Returns an array with the following three elements:
         *  - 'privatekey': The private key.
         *  - 'publickey':  The public key.
         *  - 'partialkey': A partially computed key (if the execution time exceeded $timeout).
         *                  Will need to be passed back to Crypt_RSA::createKey() as the third parameter for further processing.
         *
         * @access public
         * @param optional Integer $bits
         * @param optional Integer $timeout
         * @param optional Math_BigInteger $p
         */
    
        /**
         * Convert a private key to the appropriate format.
         *
         * @access private
         * @see setPrivateKeyFormat()
         * @param String $RSAPrivateKey
         * @return String
         */
    
        /**
         * Convert a public key to the appropriate format
         *
         * @access private
         * @see setPublicKeyFormat()
         * @param String $RSAPrivateKey
         * @return String
         */
    
        /**
         * Break a public or private key down into its constituant components
         *
         * @access private
         * @see _convertPublicKey()
         * @see _convertPrivateKey()
         * @param String $key
         * @param Integer $type
         * @return Array
         */
    
                    /* Although PKCS#1 proposes a format that public and private keys can use, encrypting them is
                       "outside the scope" of PKCS#1.  PKCS#1 then refers you to PKCS#12 and PKCS#15 if you're wanting to
                       protect private keys, however, that's not what OpenSSL* does.  OpenSSL protects private keys by adding
                       two new "fields" to the key - DEK-Info and Proc-Type.  These fields are discussed here:
    
                       http://tools.ietf.org/html/rfc1421#section-4.6.1.1
                       http://tools.ietf.org/html/rfc1421#section-4.6.1.3
    
                       DES-EDE3-CBC as an algorithm, however, is not discussed anywhere, near as I can tell.
                       DES-CBC and DES-EDE are discussed in RFC1423, however, DES-EDE3-CBC isn't, nor is its key derivation
                       function.  As is, the definitive authority on this encoding scheme isn't the IETF but rather OpenSSL's
                       own implementation.  ie. the implementation *is* the standard and any bugs that may exist in that 
                       implementation are part of the standard, as well.
    
                       * OpenSSL is the de facto standard.  It's utilized by OpenSSH and other projects */
    
                    /* intended for keys for which OpenSSL's asn1parse returns the following:
    
                        0:d=0  hl=4 l= 631 cons: SEQUENCE
                        4:d=1  hl=2 l=   1 prim:  INTEGER           :00
                        7:d=1  hl=2 l=  13 cons:  SEQUENCE
                        9:d=2  hl=2 l=   9 prim:   OBJECT            :rsaEncryption
                       20:d=2  hl=2 l=   0 prim:   NULL
                       22:d=1  hl=4 l= 609 prim:  OCTET STRING */
    
                        /* intended for keys for which OpenSSL's asn1parse returns the following:
    
                            0:d=0  hl=4 l= 290 cons: SEQUENCE
                            4:d=1  hl=2 l=  13 cons:  SEQUENCE
                            6:d=2  hl=2 l=   9 prim:   OBJECT            :rsaEncryption
                           17:d=2  hl=2 l=   0 prim:   NULL
                           19:d=1  hl=4 l= 271 prim:  BIT STRING */
    
        /**
         * Returns the key size
         *
         * More specifically, this returns the size of the modulo in bits.
         *
         * @access public
         * @return Integer
         */
    
        /**
         * Start Element Handler
         *
         * Called by xml_set_element_handler()
         *
         * @access private
         * @param Resource $parser
         * @param String $name
         * @param Array $attribs
         */
    
        /**
         * Stop Element Handler
         *
         * Called by xml_set_element_handler()
         *
         * @access private
         * @param Resource $parser
         * @param String $name
         */
    
        /**
         * Data Handler
         *
         * Called by xml_set_character_data_handler()
         *
         * @access private
         * @param Resource $parser
         * @param String $data
         */
    
        /**
         * Loads a public or private key
         *
         * Returns true on success and false on failure (ie. an incorrect password was provided or the key was malformed)
         *
         * @access public
         * @param String $key
         * @param Integer $type optional
         */
    
        /**
         * Sets the password
         *
         * Private keys can be encrypted with a password.  To unset the password, pass in the empty string or false.
         * Or rather, pass in $password such that empty($password) && !is_string($password) is true.
         *
         * @see createKey()
         * @see loadKey()
         * @access public
         * @param String $password
         */
    
        /**
         * Defines the public key
         *
         * Some private key formats define the public exponent and some don't.  Those that don't define it are problematic when
         * used in certain contexts.  For example, in SSH-2, RSA authentication works by sending the public key along with a
         * message signed by the private key to the server.  The SSH-2 server looks the public key up in an index of public keys
         * and if it's present then proceeds to verify the signature.  Problem is, if your private key doesn't include the public
         * exponent this won't work unless you manually add the public exponent.
         *
         * Do note that when a new key is loaded the index will be cleared.
         *
         * Returns true on success, false on failure
         *
         * @see getPublicKey()
         * @access public
         * @param String $key optional
         * @param Integer $type optional
         * @return Boolean
         */
    
        /**
         * Returns the public key
         *
         * The public key is only returned under two circumstances - if the private key had the public key embedded within it
         * or if the public key was set via setPublicKey().  If the currently loaded key is supposed to be the public key this
         * function won't return it since this library, for the most part, doesn't distinguish between public and private keys.
         *
         * @see getPublicKey()
         * @access public
         * @param String $key
         * @param Integer $type optional
         */
    
        /**
         * Returns the private key
         *
         * The private key is only returned if the currently loaded key contains the constituent prime numbers.
         *
         * @see getPublicKey()
         * @access public
         * @param String $key
         * @param Integer $type optional
         */
    
        /**
         * Returns a minimalistic private key
         *
         * Returns the private key without the prime number constituants.  Structurally identical to a public key that
         * hasn't been set as the public key
         *
         * @see getPrivateKey()
         * @access private
         * @param String $key
         * @param Integer $type optional
         */
    
        /**
         *  __toString() magic method
         *
         * @access public
         */
    
        /**
         * Generates the smallest and largest numbers requiring $bits bits
         *
         * @access private
         * @param Integer $bits
         * @return Array
         */
    
        /**
         * DER-decode the length
         *
         * DER supports lengths up to (2**8)**127, however, we'll only support lengths up to (2**8)**4.  See
         * {@link http://itu.int/ITU-T/studygroups/com17/languages/X.690-0207.pdf#p=13 X.690 paragraph 8.1.3} for more information.
         *
         * @access private
         * @param String $string
         * @return Integer
         */
    
        /**
         * DER-encode the length
         *
         * DER supports lengths up to (2**8)**127, however, we'll only support lengths up to (2**8)**4.  See
         * {@link http://itu.int/ITU-T/studygroups/com17/languages/X.690-0207.pdf#p=13 X.690 paragraph 8.1.3} for more information.
         *
         * @access private
         * @param Integer $length
         * @return String
         */
    
        /**
         * String Shift
         *
         * Inspired by array_shift
         *
         * @param String $string
         * @param optional Integer $index
         * @return String
         * @access private
         */
    
        /**
         * Determines the private key format
         *
         * @see createKey()
         * @access public
         * @param Integer $format
         */
    
        /**
         * Determines the public key format
         *
         * @see createKey()
         * @access public
         * @param Integer $format
         */
    
        /**
         * Determines which hashing function should be used
         *
         * Used with signature production / verification and (if the encryption mode is CRYPT_RSA_ENCRYPTION_OAEP) encryption and
         * decryption.  If $hash isn't supported, sha1 is used.
         *
         * @access public
         * @param String $hash
         */
    
        /**
         * Determines which hashing function should be used for the mask generation function
         *
         * The mask generation function is used by CRYPT_RSA_ENCRYPTION_OAEP and CRYPT_RSA_SIGNATURE_PSS and although it's
         * best if Hash and MGFHash are set to the same thing this is not a requirement.
         *
         * @access public
         * @param String $hash
         */
    
        /**
         * Determines the salt length
         *
         * To quote from {@link http://tools.ietf.org/html/rfc3447#page-38 RFC3447#page-38}:
         *
         *    Typical salt lengths in octets are hLen (the length of the output
         *    of the hash function Hash) and 0.
         *
         * @access public
         * @param Integer $format
         */
    
        /**
         * Integer-to-Octet-String primitive
         *
         * See {@link http://tools.ietf.org/html/rfc3447#section-4.1 RFC3447#section-4.1}.
         *
         * @access private
         * @param Math_BigInteger $x
         * @param Integer $xLen
         * @return String
         */
    
        /**
         * Octet-String-to-Integer primitive
         *
         * See {@link http://tools.ietf.org/html/rfc3447#section-4.2 RFC3447#section-4.2}.
         *
         * @access private
         * @param String $x
         * @return Math_BigInteger
         */
    
        /**
         * Exponentiate with or without Chinese Remainder Theorem
         *
         * See {@link http://tools.ietf.org/html/rfc3447#section-5.1.1 RFC3447#section-5.1.2}.
         *
         * @access private
         * @param Math_BigInteger $x
         * @return Math_BigInteger
         */
    
        /**
         * Performs RSA Blinding
         *
         * Protects against timing attacks by employing RSA Blinding.
         * Returns $x->modPow($this->exponents[$i], $this->primes[$i])
         *
         * @access private
         * @param Math_BigInteger $x
         * @param Math_BigInteger $r
         * @param Integer $i
         * @return Math_BigInteger
         */
    
        /**
         * Performs blinded RSA equality testing
         *
         * Protects against a particular type of timing attack described.
         *
         * See {@link http://codahale.com/a-lesson-in-timing-attacks/ A Lesson In Timing Attacks (or, Don't use MessageDigest.isEquals)}
         *
         * Thanks for the heads up singpolyma!
         *
         * @access private
         * @param String $x
         * @param String $y
         * @return Boolean
         */
    
        /**
         * RSAEP
         *
         * See {@link http://tools.ietf.org/html/rfc3447#section-5.1.1 RFC3447#section-5.1.1}.
         *
         * @access private
         * @param Math_BigInteger $m
         * @return Math_BigInteger
         */
    
        /**
         * RSADP
         *
         * See {@link http://tools.ietf.org/html/rfc3447#section-5.1.2 RFC3447#section-5.1.2}.
         *
         * @access private
         * @param Math_BigInteger $c
         * @return Math_BigInteger
         */
    
        /**
         * RSASP1
         *
         * See {@link http://tools.ietf.org/html/rfc3447#section-5.2.1 RFC3447#section-5.2.1}.
         *
         * @access private
         * @param Math_BigInteger $m
         * @return Math_BigInteger
         */
    
        /**
         * RSAVP1
         *
         * See {@link http://tools.ietf.org/html/rfc3447#section-5.2.2 RFC3447#section-5.2.2}.
         *
         * @access private
         * @param Math_BigInteger $s
         * @return Math_BigInteger
         */
    
        /**
         * MGF1
         *
         * See {@link http://tools.ietf.org/html/rfc3447#appendix-B.2.1 RFC3447#appendix-B.2.1}.
         *
         * @access private
         * @param String $mgfSeed
         * @param Integer $mgfLen
         * @return String
         */
    
        /**
         * RSAES-OAEP-ENCRYPT
         *
         * See {@link http://tools.ietf.org/html/rfc3447#section-7.1.1 RFC3447#section-7.1.1} and
         * {http://en.wikipedia.org/wiki/Optimal_Asymmetric_Encryption_Padding OAES}.
         *
         * @access private
         * @param String $m
         * @param String $l
         * @return String
         */
    
        /**
         * RSAES-OAEP-DECRYPT
         *
         * See {@link http://tools.ietf.org/html/rfc3447#section-7.1.2 RFC3447#section-7.1.2}.  The fact that the error
         * messages aren't distinguishable from one another hinders debugging, but, to quote from RFC3447#section-7.1.2:
         * 
         *    Note.  Care must be taken to ensure that an opponent cannot
         *    distinguish the different error conditions in Step 3.g, whether by
         *    error message or timing, or, more generally, learn partial
         *    information about the encoded message EM.  Otherwise an opponent may
         *    be able to obtain useful information about the decryption of the
         *    ciphertext C, leading to a chosen-ciphertext attack such as the one
         *    observed by Manger [36].
         *
         * As for $l...  to quote from {@link http://tools.ietf.org/html/rfc3447#page-17 RFC3447#page-17}:
         *
         *    Both the encryption and the decryption operations of RSAES-OAEP take
         *    the value of a label L as input.  In this version of PKCS #1, L is
         *    the empty string; other uses of the label are outside the scope of
         *    this document.
         *
         * @access private
         * @param String $c
         * @param String $l
         * @return String
         */
    
        /**
         * RSAES-PKCS1-V1_5-ENCRYPT
         *
         * See {@link http://tools.ietf.org/html/rfc3447#section-7.2.1 RFC3447#section-7.2.1}.
         *
         * @access private
         * @param String $m
         * @return String
         */
    
        /**
         * RSAES-PKCS1-V1_5-DECRYPT
         *
         * See {@link http://tools.ietf.org/html/rfc3447#section-7.2.2 RFC3447#section-7.2.2}.
         *
         * For compatability purposes, this function departs slightly from the description given in RFC3447.
         * The reason being that RFC2313#section-8.1 (PKCS#1 v1.5) states that ciphertext's encrypted by the
         * private key should have the second byte set to either 0 or 1 and that ciphertext's encrypted by the
         * public key should have the second byte set to 2.  In RFC3447 (PKCS#1 v2.1), the second byte is supposed
         * to be 2 regardless of which key is used.  For compatability purposes, we'll just check to make sure the
         * second byte is 2 or less.  If it is, we'll accept the decrypted string as valid.
         *
         * As a consequence of this, a private key encrypted ciphertext produced with Crypt_RSA may not decrypt
         * with a strictly PKCS#1 v1.5 compliant RSA implementation.  Public key encrypted ciphertext's should but
         * not private key encrypted ciphertext's.
         *
         * @access private
         * @param String $c
         * @return String
         */
    
        /**
         * EMSA-PSS-ENCODE
         *
         * See {@link http://tools.ietf.org/html/rfc3447#section-9.1.1 RFC3447#section-9.1.1}.
         *
         * @access private
         * @param String $m
         * @param Integer $emBits
         */
    
        /**
         * EMSA-PSS-VERIFY
         *
         * See {@link http://tools.ietf.org/html/rfc3447#section-9.1.2 RFC3447#section-9.1.2}.
         *
         * @access private
         * @param String $m
         * @param String $em
         * @param Integer $emBits
         * @return String
         */
    
        /**
         * RSASSA-PSS-SIGN
         *
         * See {@link http://tools.ietf.org/html/rfc3447#section-8.1.1 RFC3447#section-8.1.1}.
         *
         * @access private
         * @param String $m
         * @return String
         */
    
        /**
         * RSASSA-PSS-VERIFY
         *
         * See {@link http://tools.ietf.org/html/rfc3447#section-8.1.2 RFC3447#section-8.1.2}.
         *
         * @access private
         * @param String $m
         * @param String $s
         * @return String
         */
    
        /**
         * EMSA-PKCS1-V1_5-ENCODE
         *
         * See {@link http://tools.ietf.org/html/rfc3447#section-9.2 RFC3447#section-9.2}.
         *
         * @access private
         * @param String $m
         * @param Integer $emLen
         * @return String
         */
    
        /**
         * RSASSA-PKCS1-V1_5-SIGN
         *
         * See {@link http://tools.ietf.org/html/rfc3447#section-8.2.1 RFC3447#section-8.2.1}.
         *
         * @access private
         * @param String $m
         * @return String
         */
    
        /**
         * RSASSA-PKCS1-V1_5-VERIFY
         *
         * See {@link http://tools.ietf.org/html/rfc3447#section-8.2.2 RFC3447#section-8.2.2}.
         *
         * @access private
         * @param String $m
         * @return String
         */
    
        /**
         * Set Encryption Mode
         *
         * Valid values include CRYPT_RSA_ENCRYPTION_OAEP and CRYPT_RSA_ENCRYPTION_PKCS1.
         *
         * @access public
         * @param Integer $mode
         */
    
        /**
         * Set Signature Mode
         *
         * Valid values include CRYPT_RSA_SIGNATURE_PSS and CRYPT_RSA_SIGNATURE_PKCS1
         *
         * @access public
         * @param Integer $mode
         */
    
        /**
         * Set public key comment.
         *
         * @access public
         * @param String $comment
         */
    
        /**
         * Get public key comment.
         *
         * @access public
         * @return String
         */
    
        /**
         * Encryption
         *
         * Both CRYPT_RSA_ENCRYPTION_OAEP and CRYPT_RSA_ENCRYPTION_PKCS1 both place limits on how long $plaintext can be.
         * If $plaintext exceeds those limits it will be broken up so that it does and the resultant ciphertext's will
         * be concatenated together.
         *
         * @see decrypt()
         * @access public
         * @param String $plaintext
         * @return String
         */
    
        /**
         * Decryption
         *
         * @see encrypt()
         * @access public
         * @param String $plaintext
         * @return String
         */
    
        /**
         * Create a signature
         *
         * @see verify()
         * @access public
         * @param String $message
         * @return String
         */
    
        /**
         * Verifies a signature
         *
         * @see sign()
         * @access public
         * @param String $message
         * @param String $signature
         * @return Boolean
         */
    

    File: /destinations/sftp/lib/phpseclib/Crypt/Random.php

    /* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
    
    /**
     * Random Number Generator
     *
     * PHP versions 4 and 5
     *
     * Here's a short example of how to use this library:
     * 
     * 
     * 
     *
     * LICENSE: Permission is hereby granted, free of charge, to any person obtaining a copy
     * of this software and associated documentation files (the "Software"), to deal
     * in the Software without restriction, including without limitation the rights
     * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
     * copies of the Software, and to permit persons to whom the Software is
     * furnished to do so, subject to the following conditions:
     * 
     * The above copyright notice and this permission notice shall be included in
     * all copies or substantial portions of the Software.
     * 
     * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
     * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
     * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
     * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
     * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
     * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
     * THE SOFTWARE.
     *
     * @category   Crypt
     * @package    Crypt_Random
     * @author     Jim Wigginton 
     * @copyright  MMVII Jim Wigginton
     * @license    http://www.opensource.org/licenses/mit-license.html  MIT License
     * @link       http://phpseclib.sourceforge.net
     */
    
    /**
     * "Is Windows" test
     *
     * @access private
     */
    
    /**
     * Generate a random string.
     *
     * Although microoptimizations are generally discouraged as they impair readability this function is ripe with
     * microoptimizations because this function has the potential of being called a huge number of times.
     * eg. for RSA key generation.
     *
     * @param Integer $length
     * @return String
     * @access public
     */
    

    File: /destinations/sftp/lib/phpseclib/Crypt/Rijndael.php

    /* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
    
    /**
     * Pure-PHP implementation of Rijndael.
     *
     * Does not use mcrypt, even when available, for reasons that are explained below.
     *
     * PHP versions 4 and 5
     *
     * If {@link Crypt_Rijndael::setBlockLength() setBlockLength()} isn't called, it'll be assumed to be 128 bits.  If 
     * {@link Crypt_Rijndael::setKeyLength() setKeyLength()} isn't called, it'll be calculated from 
     * {@link Crypt_Rijndael::setKey() setKey()}.  ie. if the key is 128-bits, the key length will be 128-bits.  If it's 
     * 136-bits it'll be null-padded to 160-bits and 160 bits will be the key length until 
     * {@link Crypt_Rijndael::setKey() setKey()} is called, again, at which point, it'll be recalculated.
     *
     * Not all Rijndael implementations may support 160-bits or 224-bits as the block length / key length.  mcrypt, for example,
     * does not.  AES, itself, only supports block lengths of 128 and key lengths of 128, 192, and 256.
     * {@link http://csrc.nist.gov/archive/aes/rijndael/Rijndael-ammended.pdf#page=10 Rijndael-ammended.pdf#page=10} defines the
     * algorithm for block lengths of 192 and 256 but not for block lengths / key lengths of 160 and 224.  Indeed, 160 and 224
     * are first defined as valid key / block lengths in 
     * {@link http://csrc.nist.gov/archive/aes/rijndael/Rijndael-ammended.pdf#page=44 Rijndael-ammended.pdf#page=44}: 
     * Extensions: Other block and Cipher Key lengths.
     *
     * {@internal The variable names are the same as those in 
     * {@link http://www.csrc.nist.gov/publications/fips/fips197/fips-197.pdf#page=10 fips-197.pdf#page=10}.}}
     *
     * Here's a short example of how to use this library:
     * 
     * setKey('abcdefghijklmnop');
     *
     *    $size = 10 * 1024;
     *    $plaintext = '';
     *    for ($i = 0; $i < $size; $i++) {
     *        $plaintext.= 'a';
     *    }
     *
     *    echo $rijndael->decrypt($rijndael->encrypt($plaintext));
     * ?>
     * 
     *
     * LICENSE: Permission is hereby granted, free of charge, to any person obtaining a copy
     * of this software and associated documentation files (the "Software"), to deal
     * in the Software without restriction, including without limitation the rights
     * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
     * copies of the Software, and to permit persons to whom the Software is
     * furnished to do so, subject to the following conditions:
     * 
     * The above copyright notice and this permission notice shall be included in
     * all copies or substantial portions of the Software.
     * 
     * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
     * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
     * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
     * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
     * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
     * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
     * THE SOFTWARE.
     *
     * @category   Crypt
     * @package    Crypt_Rijndael
     * @author     Jim Wigginton 
     * @copyright  MMVIII Jim Wigginton
     * @license    http://www.opensource.org/licenses/mit-license.html  MIT License
     * @link       http://phpseclib.sourceforge.net
     */
    
    /**#@+
     * @access public
     * @see Crypt_Rijndael::encrypt()
     * @see Crypt_Rijndael::decrypt()
     */
    
    /**
     * Encrypt / decrypt using the Counter mode.
     *
     * Set to -1 since that's what Crypt/Random.php uses to index the CTR mode.
     *
     * @link http://en.wikipedia.org/wiki/Block_cipher_modes_of_operation#Counter_.28CTR.29
     */
    
    /**
     * Encrypt / decrypt using the Electronic Code Book mode.
     *
     * @link http://en.wikipedia.org/wiki/Block_cipher_modes_of_operation#Electronic_codebook_.28ECB.29
     */
    
    /**
     * Encrypt / decrypt using the Code Book Chaining mode.
     *
     * @link http://en.wikipedia.org/wiki/Block_cipher_modes_of_operation#Cipher-block_chaining_.28CBC.29
     */
    
    /**
     * Encrypt / decrypt using the Cipher Feedback mode.
     *
     * @link http://en.wikipedia.org/wiki/Block_cipher_modes_of_operation#Cipher_feedback_.28CFB.29
     */
    
    /**
     * Encrypt / decrypt using the Cipher Feedback mode.
     *
     * @link http://en.wikipedia.org/wiki/Block_cipher_modes_of_operation#Output_feedback_.28OFB.29
     */
    
    /**#@-*/
    
    /**#@+
     * @access private
     * @see Crypt_Rijndael::Crypt_Rijndael()
     */
    
    /**
     * Toggles the internal implementation
     */
    
    /**
     * Toggles the mcrypt implementation
     */
    
    /**#@-*/
    
    /**
     * Pure-PHP implementation of Rijndael.
     *
     * @author  Jim Wigginton 
     * @version 0.1.0
     * @access  public
     * @package Crypt_Rijndael
     */
    

    Class: Crypt_Rijndael

        /**
         * The Encryption Mode
         *
         * @see Crypt_Rijndael::Crypt_Rijndael()
         * @var Integer
         * @access private
         */
    
        /**
         * The Key
         *
         * @see Crypt_Rijndael::setKey()
         * @var String
         * @access private
         */
    
        /**
         * The Initialization Vector
         *
         * @see Crypt_Rijndael::setIV()
         * @var String
         * @access private
         */
    
        /**
         * A "sliding" Initialization Vector
         *
         * @see Crypt_Rijndael::enableContinuousBuffer()
         * @var String
         * @access private
         */
    
        /**
         * A "sliding" Initialization Vector
         *
         * @see Crypt_Rijndael::enableContinuousBuffer()
         * @var String
         * @access private
         */
    
        /**
         * Continuous Buffer status
         *
         * @see Crypt_Rijndael::enableContinuousBuffer()
         * @var Boolean
         * @access private
         */
    
        /**
         * Padding status
         *
         * @see Crypt_Rijndael::enablePadding()
         * @var Boolean
         * @access private
         */
    
        /**
         * Does the key schedule need to be (re)calculated?
         *
         * @see setKey()
         * @see setBlockLength()
         * @see setKeyLength()
         * @var Boolean
         * @access private
         */
    
        /**
         * Has the key length explicitly been set or should it be derived from the key, itself?
         *
         * @see setKeyLength()
         * @var Boolean
         * @access private
         */
    
        /**
         * The Key Schedule
         *
         * @see _setup()
         * @var Array
         * @access private
         */
    
        /**
         * The Inverse Key Schedule
         *
         * @see _setup()
         * @var Array
         * @access private
         */
    
        /**
         * The Block Length
         *
         * @see setBlockLength()
         * @var Integer
         * @access private
         * @internal The max value is 32, the min value is 16.  All valid values are multiples of 4.  Exists in conjunction with
         *     $Nb because we need this value and not $Nb to pad strings appropriately.  
         */
    
        /**
         * The Block Length divided by 32
         *
         * @see setBlockLength()
         * @var Integer
         * @access private
         * @internal The max value is 256 / 32 = 8, the min value is 128 / 32 = 4.  Exists in conjunction with $block_size 
         *    because the encryption / decryption / key schedule creation requires this number and not $block_size.  We could 
         *    derive this from $block_size or vice versa, but that'd mean we'd have to do multiple shift operations, so in lieu
         *    of that, we'll just precompute it once.
         *
         */
    
        /**
         * The Key Length
         *
         * @see setKeyLength()
         * @var Integer
         * @access private
         * @internal The max value is 256 / 8 = 32, the min value is 128 / 8 = 16.  Exists in conjunction with $key_size
         *    because the encryption / decryption / key schedule creation requires this number and not $key_size.  We could 
         *    derive this from $key_size or vice versa, but that'd mean we'd have to do multiple shift operations, so in lieu
         *    of that, we'll just precompute it once.
         */
    
        /**
         * The Key Length divided by 32
         *
         * @see setKeyLength()
         * @var Integer
         * @access private
         * @internal The max value is 256 / 32 = 8, the min value is 128 / 32 = 4
         */
    
        /**
         * The Number of Rounds
         *
         * @var Integer
         * @access private
         * @internal The max value is 14, the min value is 10.
         */
    
        /**
         * Shift offsets
         *
         * @var Array
         * @access private
         */
    
        /**
         * Precomputed mixColumns table
         *
         * @see Crypt_Rijndael()
         * @var Array
         * @access private
         */
    
        /**
         * Precomputed mixColumns table
         *
         * @see Crypt_Rijndael()
         * @var Array
         * @access private
         */
    
        /**
         * Precomputed mixColumns table
         *
         * @see Crypt_Rijndael()
         * @var Array
         * @access private
         */
    
        /**
         * Precomputed mixColumns table
         *
         * @see Crypt_Rijndael()
         * @var Array
         * @access private
         */
    
        /**
         * Precomputed invMixColumns table
         *
         * @see Crypt_Rijndael()
         * @var Array
         * @access private
         */
    
        /**
         * Precomputed invMixColumns table
         *
         * @see Crypt_Rijndael()
         * @var Array
         * @access private
         */
    
        /**
         * Precomputed invMixColumns table
         *
         * @see Crypt_Rijndael()
         * @var Array
         * @access private
         */
    
        /**
         * Precomputed invMixColumns table
         *
         * @see Crypt_Rijndael()
         * @var Array
         * @access private
         */
    
        /**
         * The SubByte S-Box
         *
         * @see Crypt_Rijndael::_encryptBlock()
         * @var Array
         * @access private
         */
    
        /**
         * The inverse SubByte S-Box
         *
         * @see Crypt_Rijndael::_decryptBlock()
         * @var Array
         * @access private
         */
    
        /**
         * Performance-optimized callback function for en/decrypt()
         *
         * @see Crypt_Rijndael::encrypt()
         * @see Crypt_Rijndael::decrypt()
         * @see Crypt_Rijndael::inline_crypt_setup()
         * @see Crypt_Rijndael::$use_inline_crypt
         * @var Callback
         * @access private
         */
    
        /**
         * Holds whether performance-optimized $inline_crypt should be used or not.
         *
         * @see Crypt_Rijndael::Crypt_Rijndael()
         * @see Crypt_Rijndael::inline_crypt_setup()
         * @see Crypt_Rijndael::$inline_crypt
         * @var Boolean
         * @access private
         */
    
        /**
         * Is the mode one that is paddable?
         *
         * @see Crypt_Rijndael::Crypt_Rijndael()
         * @var Boolean
         * @access private
         */
    
        /**
         * Encryption buffer for CTR, OFB and CFB modes
         *
         * @see Crypt_Rijndael::encrypt()
         * @var String
         * @access private
         */
    
        /**
         * Decryption buffer for CTR, OFB and CFB modes
         *
         * @see Crypt_Rijndael::decrypt()
         * @var String
         * @access private
         */
    
        /**
         * Default Constructor.
         *
         * Determines whether or not the mcrypt extension should be used.  $mode should only, at present, be
         * CRYPT_RIJNDAEL_MODE_ECB or CRYPT_RIJNDAEL_MODE_CBC.  If not explictly set, CRYPT_RIJNDAEL_MODE_CBC will be used.
         *
         * @param optional Integer $mode
         * @return Crypt_Rijndael
         * @access public
         */
    
        /**
         * Sets the key.
         *
         * Keys can be of any length.  Rijndael, itself, requires the use of a key that's between 128-bits and 256-bits long and
         * whose length is a multiple of 32.  If the key is less than 256-bits and the key length isn't set, we round the length
         * up to the closest valid key length, padding $key with null bytes.  If the key is more than 256-bits, we trim the
         * excess bits.
         *
         * If the key is not explicitly set, it'll be assumed to be all null bytes.
         *
         * @access public
         * @param String $key
         */
    
        /**
         * Sets the initialization vector. (optional)
         *
         * SetIV is not required when CRYPT_RIJNDAEL_MODE_ECB is being used.  If not explictly set, it'll be assumed
         * to be all zero's.
         *
         * @access public
         * @param String $iv
         */
    
        /**
         * Sets the key length
         *
         * Valid key lengths are 128, 160, 192, 224, and 256.  If the length is less than 128, it will be rounded up to
         * 128.  If the length is greater than 128 and invalid, it will be rounded down to the closest valid amount.
         *
         * @access public
         * @param Integer $length
         */
    
        /**
         * Sets the password.
         *
         * Depending on what $method is set to, setPassword()'s (optional) parameters are as follows:
         *     {@link http://en.wikipedia.org/wiki/PBKDF2 pbkdf2}:
         *         $hash, $salt, $method
         *     Set $dkLen by calling setKeyLength()
         *
         * @param String $password
         * @param optional String $method
         * @access public
         */
    
        /**
         * Sets the block length
         *
         * Valid block lengths are 128, 160, 192, 224, and 256.  If the length is less than 128, it will be rounded up to
         * 128.  If the length is greater than 128 and invalid, it will be rounded down to the closest valid amount.
         *
         * @access public
         * @param Integer $length
         */
    
        /**
         * Generate CTR XOR encryption key
         *
         * Encrypt the output of this and XOR it against the ciphertext / plaintext to get the
         * plaintext / ciphertext in CTR mode.
         *
         * @see Crypt_Rijndael::decrypt()
         * @see Crypt_Rijndael::encrypt()
         * @access public
         * @param Integer $length
         * @param String $iv
         */
    
        /**
         * Encrypts a message.
         *
         * $plaintext will be padded with additional bytes such that it's length is a multiple of the block size.  Other Rjindael
         * implementations may or may not pad in the same manner.  Other common approaches to padding and the reasons why it's
         * necessary are discussed in the following
         * URL:
         *
         * {@link http://www.di-mgt.com.au/cryptopad.html http://www.di-mgt.com.au/cryptopad.html}
         *
         * An alternative to padding is to, separately, send the length of the file.  This is what SSH, in fact, does.
         * strlen($plaintext) will still need to be a multiple of 8, however, arbitrary values can be added to make it that
         * length.
         *
         * @see Crypt_Rijndael::decrypt()
         * @access public
         * @param String $plaintext
         */
    
        /**
         * Decrypts a message.
         *
         * If strlen($ciphertext) is not a multiple of the block size, null bytes will be added to the end of the string until
         * it is.
         *
         * @see Crypt_Rijndael::encrypt()
         * @access public
         * @param String $ciphertext
         */
    
        /**
         * Encrypts a block
         *
         * @access private
         * @param String $in
         * @return String
         */
    
            /*
            $state = $temp;
    
            array_unshift($state, 'N*');
    
            return call_user_func_array('pack', $state);
            */
    
        /**
         * Decrypts a block
         *
         * @access private
         * @param String $in
         * @return String
         */
    
            /*
            $state = $temp;
    
            array_unshift($state, 'N*');
    
            return call_user_func_array('pack', $state);
            */
    
        /**
         * Setup Rijndael
         *
         * Validates all the variables and calculates $Nr - the number of rounds that need to be performed - and $w - the key
         * key schedule.
         *
         * @access private
         */
    
        /**
         * Performs S-Box substitutions
         *
         * @access private
         */
    
        /**
         * Performs inverse S-Box substitutions
         *
         * @access private
         */
    
        /**
         * Pad "packets".
         *
         * Rijndael works by encrypting between sixteen and thirty-two bytes at a time, provided that number is also a multiple
         * of four.  If you ever need to encrypt or decrypt something that isn't of the proper length, it becomes necessary to
         * pad the input so that it is of the proper length.
         *
         * Padding is enabled by default.  Sometimes, however, it is undesirable to pad strings.  Such is the case in SSH,
         * where "packets" are padded with random bytes before being encrypted.  Unpad these packets and you risk stripping
         * away characters that shouldn't be stripped away. (SSH knows how many bytes are added because the length is
         * transmitted separately)
         *
         * @see Crypt_Rijndael::disablePadding()
         * @access public
         */
    
        /**
         * Do not pad packets.
         *
         * @see Crypt_Rijndael::enablePadding()
         * @access public
         */
    
        /**
         * Pads a string
         *
         * Pads a string using the RSA PKCS padding standards so that its length is a multiple of the blocksize.
         * $block_size - (strlen($text) % $block_size) bytes are added, each of which is equal to 
         * chr($block_size - (strlen($text) % $block_size)
         *
         * If padding is disabled and $text is not a multiple of the blocksize, the string will be padded regardless
         * and padding will, hence forth, be enabled.
         *
         * @see Crypt_Rijndael::_unpad()
         * @access private
         */
    
        /**
         * Unpads a string.
         *
         * If padding is enabled and the reported padding length is invalid the encryption key will be assumed to be wrong
         * and false will be returned.
         *
         * @see Crypt_Rijndael::_pad()
         * @access private
         */
    
        /**
         * Treat consecutive "packets" as if they are a continuous buffer.
         *
         * Say you have a 32-byte plaintext $plaintext.  Using the default behavior, the two following code snippets
         * will yield different outputs:
         *
         * 
         *    echo $rijndael->encrypt(substr($plaintext,  0, 16));
         *    echo $rijndael->encrypt(substr($plaintext, 16, 16));
         * 
         * 
         *    echo $rijndael->encrypt($plaintext);
         * 
         *
         * The solution is to enable the continuous buffer.  Although this will resolve the above discrepancy, it creates
         * another, as demonstrated with the following:
         *
         * 
         *    $rijndael->encrypt(substr($plaintext, 0, 16));
         *    echo $rijndael->decrypt($des->encrypt(substr($plaintext, 16, 16)));
         * 
         * 
         *    echo $rijndael->decrypt($des->encrypt(substr($plaintext, 16, 16)));
         * 
         *
         * With the continuous buffer disabled, these would yield the same output.  With it enabled, they yield different
         * outputs.  The reason is due to the fact that the initialization vector's change after every encryption /
         * decryption round when the continuous buffer is enabled.  When it's disabled, they remain constant.
         *
         * Put another way, when the continuous buffer is enabled, the state of the Crypt_Rijndael() object changes after each
         * encryption / decryption round, whereas otherwise, it'd remain constant.  For this reason, it's recommended that
         * continuous buffers not be used.  They do offer better security and are, in fact, sometimes required (SSH uses them),
         * however, they are also less intuitive and more likely to cause you problems.
         *
         * @see Crypt_Rijndael::disableContinuousBuffer()
         * @access public
         */
    
        /**
         * Treat consecutive packets as if they are a discontinuous buffer.
         *
         * The default behavior.
         *
         * @see Crypt_Rijndael::enableContinuousBuffer()
         * @access public
         */
    
        /**
         * String Shift
         *
         * Inspired by array_shift
         *
         * @param String $string
         * @param optional Integer $index
         * @return String
         * @access private
         */
    
        /**
         * Creates performance-optimized function for de/encrypt(), storing it in $this->inline_crypt
         *
         * @see Crypt_Rijndael::encrypt()
         * @see Crypt_Rijndael::decrypt()
         * @access private
         */
    
        /**
         * Holds the lambda_functions table (classwide)
         *
         * @see Crypt_Rijndael::inline_crypt_setup()
         * @return Array
         * @access private
         */
    

    File: /destinations/sftp/lib/phpseclib/Crypt/TripleDES.php

    /* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
    
    /**
     * Pure-PHP implementation of Triple DES.
     *
     * Uses mcrypt, if available, and an internal implementation, otherwise.  Operates in the EDE3 mode (encrypt-decrypt-encrypt).
     *
     * PHP versions 4 and 5
     *
     * Here's a short example of how to use this library:
     * 
     * setKey('abcdefghijklmnopqrstuvwx');
     *
     *    $size = 10 * 1024;
     *    $plaintext = '';
     *    for ($i = 0; $i < $size; $i++) {
     *        $plaintext.= 'a';
     *    }
     *
     *    echo $des->decrypt($des->encrypt($plaintext));
     * ?>
     * 
     *
     * LICENSE: Permission is hereby granted, free of charge, to any person obtaining a copy
     * of this software and associated documentation files (the "Software"), to deal
     * in the Software without restriction, including without limitation the rights
     * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
     * copies of the Software, and to permit persons to whom the Software is
     * furnished to do so, subject to the following conditions:
     * 
     * The above copyright notice and this permission notice shall be included in
     * all copies or substantial portions of the Software.
     * 
     * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
     * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
     * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
     * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
     * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
     * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
     * THE SOFTWARE.
     *
     * @category   Crypt
     * @package    Crypt_TripleDES
     * @author     Jim Wigginton 
     * @copyright  MMVII Jim Wigginton
     * @license    http://www.opensource.org/licenses/mit-license.html  MIT License
     * @link       http://phpseclib.sourceforge.net
     */
    
    /**
     * Include Crypt_DES
     */
    
    /**
     * Encrypt / decrypt using inner chaining
     *
     * Inner chaining is used by SSH-1 and is generally considered to be less secure then outer chaining (CRYPT_DES_MODE_CBC3).
     */
    
    /**
     * Encrypt / decrypt using outer chaining
     *
     * Outer chaining is used by SSH-2 and when the mode is set to CRYPT_DES_MODE_CBC.
     */
    
    /**
     * Pure-PHP implementation of Triple DES.
     *
     * @author  Jim Wigginton 
     * @version 0.1.0
     * @access  public
     * @package Crypt_TerraDES
     */
    

    Class: Crypt_TripleDES extends Crypt_DES

        /**
         * The Crypt_DES objects
         *
         * @var Array
         * @access private
         */
    
        /**
         * Default Constructor.
         *
         * Determines whether or not the mcrypt extension should be used.  $mode should only, at present, be
         * CRYPT_DES_MODE_ECB or CRYPT_DES_MODE_CBC.  If not explictly set, CRYPT_DES_MODE_CBC will be used.
         *
         * @param optional Integer $mode
         * @return Crypt_TripleDES
         * @access public
         */
    
        /**
         * Sets the key.
         *
         * Keys can be of any length.  Triple DES, itself, can use 128-bit (eg. strlen($key) == 16) or
         * 192-bit (eg. strlen($key) == 24) keys.  This function pads and truncates $key as appropriate.
         *
         * DES also requires that every eighth bit be a parity bit, however, we'll ignore that.
         *
         * If the key is not explicitly set, it'll be assumed to be all zero's.
         *
         * @access public
         * @param String $key
         */
    
        /**
         * Sets the password.
         *
         * Depending on what $method is set to, setPassword()'s (optional) parameters are as follows:
         *     {@link http://en.wikipedia.org/wiki/PBKDF2 pbkdf2}:
         *         $hash, $salt, $method
         *
         * @param String $password
         * @param optional String $method
         * @access public
         */
    
        /**
         * Sets the initialization vector. (optional)
         *
         * SetIV is not required when CRYPT_DES_MODE_ECB is being used.  If not explictly set, it'll be assumed
         * to be all zero's.
         *
         * @access public
         * @param String $iv
         */
    
        /**
         * Encrypts a message.
         *
         * @access public
         * @param String $plaintext
         */
    
        /**
         * Decrypts a message.
         *
         * @access public
         * @param String $ciphertext
         */
    
        /**
         * Treat consecutive "packets" as if they are a continuous buffer.
         *
         * Say you have a 16-byte plaintext $plaintext.  Using the default behavior, the two following code snippets
         * will yield different outputs:
         *
         * 
         *    echo $des->encrypt(substr($plaintext, 0, 8));
         *    echo $des->encrypt(substr($plaintext, 8, 8));
         * 
         * 
         *    echo $des->encrypt($plaintext);
         * 
         *
         * The solution is to enable the continuous buffer.  Although this will resolve the above discrepancy, it creates
         * another, as demonstrated with the following:
         *
         * 
         *    $des->encrypt(substr($plaintext, 0, 8));
         *    echo $des->decrypt($des->encrypt(substr($plaintext, 8, 8)));
         * 
         * 
         *    echo $des->decrypt($des->encrypt(substr($plaintext, 8, 8)));
         * 
         *
         * With the continuous buffer disabled, these would yield the same output.  With it enabled, they yield different
         * outputs.  The reason is due to the fact that the initialization vector's change after every encryption /
         * decryption round when the continuous buffer is enabled.  When it's disabled, they remain constant.
         *
         * Put another way, when the continuous buffer is enabled, the state of the Crypt_DES() object changes after each
         * encryption / decryption round, whereas otherwise, it'd remain constant.  For this reason, it's recommended that
         * continuous buffers not be used.  They do offer better security and are, in fact, sometimes required (SSH uses them),
         * however, they are also less intuitive and more likely to cause you problems.
         *
         * @see Crypt_TripleDES::disableContinuousBuffer()
         * @access public
         */
    
        /**
         * Treat consecutive packets as if they are a discontinuous buffer.
         *
         * The default behavior.
         *
         * @see Crypt_TripleDES::enableContinuousBuffer()
         * @access public
         */
    

    File: /destinations/sftp/lib/phpseclib/Crypt/Twofish.php

    /* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
    
    /**
     * Pure-PHP implementation of Twofish.
     *
     * Uses mcrypt, if available, and an internal implementation, otherwise.
     *
     * PHP versions 4 and 5
     *
     * Useful resources are as follows:
     *
     *  - {@link http://en.wikipedia.org/wiki/Twofish Wikipedia description of Twofish}
     *
     * Here's a short example of how to use this library:
     * 
     * setKey('12345678901234567890123456789012');
     *
     *    $plaintext = str_repeat('a', 1024);
     *
     *    echo $Twofish->decrypt($Twofish->encrypt($plaintext));
     * ?>
     * 
     *
     * LICENSE: Permission is hereby granted, free of charge, to any person obtaining a copy
     * of this software and associated documentation files (the "Software"), to deal
     * in the Software without restriction, including without limitation the rights
     * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
     * copies of the Software, and to permit persons to whom the Software is
     * furnished to do so, subject to the following conditions:
     *
     * The above copyright notice and this permission notice shall be included in
     * all copies or substantial portions of the Software.
     *
     * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
     * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
     * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
     * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
     * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
     * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
     * THE SOFTWARE.
     *
     * @category   Crypt
     * @package    Crypt_Twofish
     * @author     Jim Wigginton 
     * @author     Hans-Juergen Petrich 
     * @copyright  MMVII Jim Wigginton
     * @license    http://www.opensource.org/licenses/mit-license.html  MIT License
     * @version    1.0
     * @link       http://phpseclib.sourceforge.net
     */
    
    /**#@+
     * @access public
     * @see Crypt_Twofish::encrypt()
     * @see Crypt_Twofish::decrypt()
     */
    
    /**
     * Encrypt / decrypt using the Counter mode.
     *
     * Set to -1 since that's what Crypt/Random.php uses to index the CTR mode.
     *
     * @link http://en.wikipedia.org/wiki/Block_cipher_modes_of_operation#Counter_.28CTR.29
     */
    
    /**
     * Encrypt / decrypt using the Electronic Code Book mode.
     *
     * @link http://en.wikipedia.org/wiki/Block_cipher_modes_of_operation#Electronic_codebook_.28ECB.29
     */
    
    /**
     * Encrypt / decrypt using the Code Book Chaining mode.
     *
     * @link http://en.wikipedia.org/wiki/Block_cipher_modes_of_operation#Cipher-block_chaining_.28CBC.29
     */
    
    /**
     * Encrypt / decrypt using the Cipher Feedback mode.
     *
     * @link http://en.wikipedia.org/wiki/Block_cipher_modes_of_operation#Cipher_feedback_.28CFB.29
     */
    
    /**
     * Encrypt / decrypt using the Cipher Feedback mode.
     *
     * @link http://en.wikipedia.org/wiki/Block_cipher_modes_of_operation#Output_feedback_.28OFB.29
     */
    
    /**#@-*/
    
    /**#@+
     * @access private
     * @see Crypt_Twofish::Crypt_Twofish()
     */
    
    /**
     * Toggles the internal implementation
     */
    
    /**
     * Toggles the mcrypt implementation
     */
    
    /**#@-*/
    
    /**
     * Pure-PHP implementation of Twofish.
     *
     * @author  Jim Wigginton 
     * @author  Hans-Juergen Petrich 
     * @version 1.0
     * @access  public
     * @package Crypt_Twofish
     */
    

    Class: Crypt_Twofish

        /**
         * The Key as String
         *
         * @see Crypt_Twofish::setKey()
         * @var Array
         * @access private
         */
    
        /**
         * The Encryption Mode
         *
         * @see Crypt_Twofish::Crypt_Twofish()
         * @var Integer
         * @access private
         */
    
        /**
         * Continuous Buffer status
         *
         * @see Crypt_Twofish::enableContinuousBuffer()
         * @var Boolean
         * @access private
         */
    
        /**
         * Padding status
         *
         * @see Crypt_Twofish::enablePadding()
         * @var Boolean
         * @access private
         */
    
        /**
         * The Initialization Vector
         *
         * @see Crypt_Twofish::setIV()
         * @var String
         * @access private
         */
    
        /**
         * A "sliding" Initialization Vector
         *
         * @see Crypt_Twofish::enableContinuousBuffer()
         * @var String
         * @access private
         */
    
        /**
         * A "sliding" Initialization Vector
         *
         * @see Crypt_Twofish::enableContinuousBuffer()
         * @var String
         * @access private
         */
    
        /**
         * mcrypt resource for encryption
         *
         * The mcrypt resource can be recreated every time something needs to be created or it can be created just once.
         * Since mcrypt operates in continuous mode, by default, it'll need to be recreated when in non-continuous mode.
         *
         * @see Crypt_Twofish::encrypt()
         * @var String
         * @access private
         */
    
        /**
         * mcrypt resource for decryption
         *
         * The mcrypt resource can be recreated every time something needs to be created or it can be created just once.
         * Since mcrypt operates in continuous mode, by default, it'll need to be recreated when in non-continuous mode.
         *
         * @see Crypt_Twofish::decrypt()
         * @var String
         * @access private
         */
    
        /**
         * Does the enmcrypt resource need to be (re)initialized?
         *
         * @see Crypt_Twofish::setKey()
         * @see Crypt_Twofish::setIV()
         * @var Boolean
         * @access private
         */
    
        /**
         * Does the demcrypt resource need to be (re)initialized?
         *
         * @see Crypt_Twofish::setKey()
         * @see Crypt_Twofish::setIV()
         * @var Boolean
         * @access private
         */
    
        /**
         * Is the mode one that is paddable?
         *
         * @see Crypt_Twofish::Crypt_Twofish()
         * @var Boolean
         * @access private
         */
    
        /**
         * Encryption buffer for CTR, OFB and CFB modes
         *
         * @see Crypt_Twofish::encrypt()
         * @var Array
         * @access private
         */
    
        /**
         * Decryption buffer for CTR, OFB and CFB modes
         *
         * @see Crypt_Twofish::decrypt()
         * @var Array
         * @access private
         */
    
        /**
         * mcrypt resource for CFB mode
         *
         * @see Crypt_Twofish::encrypt()
         * @see Crypt_Twofish::decrypt()
         * @var String
         * @access private
         */
    
        /**
         * Performance-optimized callback function for en/decrypt()
         *
         * @var Callback
         * @access private
         */
    
        /**
         * Q-Table
         *
         * @var Array
         * @access private
         */
    
        /**
         * Q-Table
         *
         * @var Array
         * @access private
         */
    
        /**
         * M-Table
         *
         * @var Array
         * @access private
         */
    
        /**
         * M-Table
         *
         * @var Array
         * @access private
         */
    
        /**
         * M-Table
         *
         * @var Array
         * @access private
         */
    
        /**
         * M-Table
         *
         * @var Array
         * @access private
         */
    
        /**
         * The Key Schedule Array
         *
         * @var Array
         * @access private
         */
    
        /**
         * The Key depended S-Table 0
         *
         * @var Array
         * @access private
         */
    
        /**
         * The Key depended S-Table 1
         *
         * @var Array
         * @access private
         */
    
        /**
         * The Key depended S-Table 2
         *
         * @var Array
         * @access private
         */
    
        /**
         * The Key depended S-Table 3
         *
         * @var Array
         * @access private
         */
    
        /**
         * Default Constructor.
         *
         * Determines whether or not the mcrypt extension should be used.
         * If not explictly set, CRYPT_TWOFISH_MODE_CBC will be used.
         *
         * @param optional Integer $mode
         * @access public
         */
    
        /**
         * Sets the key.
         *
         * Keys can be of any length. Twofish, itself, requires the use of a key that's 128, 192 or 256-bits long.
         * If the key is less than 256-bits we round the length up to the closest valid key length,
         * padding $key with null bytes. If the key is more than 256-bits, we trim the excess bits.
         *
         * If the key is not explicitly set, it'll be assumed a 128 bits key to be all null bytes.
         *
         * @access public
         * @param String $key
         */
    
            /* Key expanding and generating the key-depended s-boxes */
    
        /**
         * Sets the password.
         *
         * Depending on what $method is set to, setPassword()'s (optional) parameters are as follows:
         *     {@link http://en.wikipedia.org/wiki/PBKDF2 pbkdf2}:
         *         $hash, $salt, $count
         *
         * @param String $password
         * @param optional String $method
         * @access public
         */
    
        /**
         * Sets the initialization vector. (optional)
         *
         * SetIV is not required when CRYPT_TWOFISH_MODE_ECB is being used.  If not explictly set, it'll be assumed
         * to be all null bytes.
         *
         * @access public
         * @param String $iv
         */
    
        /**
         * Encrypts a message.
         *
         * $plaintext will be padded with up to 16 additional bytes.  Other Twofish implementations may or may not pad in the
         * same manner.  Other common approaches to padding and the reasons why it's necessary are discussed in the following
         * URL:
         *
         * {@link http://www.di-mgt.com.au/cryptopad.html http://www.di-mgt.com.au/cryptopad.html}
         *
         * An alternative to padding is to, separately, send the length of the file.  This is what SSH, in fact, does.
         * strlen($plaintext) will still need to be a multiple of 16, however, arbitrary values can be added to make it that
         * length.
         *
         * @see Crypt_Twofish::decrypt()
         * @access public
         * @param String $plaintext
         */
    
        /**
         * Decrypts a message.
         *
         * If strlen($ciphertext) is not a multiple of 16, null bytes will be added to the end of the string until it is.
         *
         * @see Crypt_Twofish::encrypt()
         * @access public
         * @param String $ciphertext
         */
    
        /**
         * Treat consecutive "packets" as if they are a continuous buffer.
         *
         * @see Crypt_Twofish::disableContinuousBuffer()
         * @access public
         */
    
        /**
         * Treat consecutive packets as if they are a discontinuous buffer.
         *
         * The default behavior.
         *
         * @see Crypt_Twofish::enableContinuousBuffer()
         * @access public
         */
    
        /**
         * Pad "packets".
         *
         * Twofish works by encrypting 16 bytes at a time.  If you ever need to encrypt or decrypt something that's not
         * a multiple of 16, it becomes necessary to pad the input so that it's length is a multiple of eight.
         *
         * Padding is enabled by default.  Sometimes, however, it is undesirable to pad strings.  Such is the case in SSH1,
         * where "packets" are padded with random bytes before being encrypted.  Unpad these packets and you risk stripping
         * away characters that shouldn't be stripped away. (SSH knows how many bytes are added because the length is
         * transmitted separately)
         *
         * @see Crypt_Twofish::disablePadding()
         * @access public
         */
    
        /**
         * Do not pad packets.
         *
         * @see Crypt_Twofish::enablePadding()
         * @access public
         */
    
        /**
         * Pads a string
         *
         * Pads a string using the RSA PKCS padding standards so that its length is a multiple of the blocksize (16).
         *
         * If padding is disabled and $text is not a multiple of the blocksize, the string will be padded regardless
         * and padding will, hence forth, be enabled.
         *
         * @see Crypt_Twofish::_unpad()
         * @access private
         */
    
        /**
         * Unpads a string
         *
         * If padding is enabled and the reported padding length is invalid the encryption key will be assumed to be wrong
         * and false will be returned.
         *
         * @see Crypt_Twofish::_pad()
         * @access private
         */
    
        /**
         * String Shift
         *
         * Inspired by array_shift
         *
         * @param String $string
         * @return String
         * @access private
         */
    
        /**
         * Generate CTR XOR encryption key
         *
         * Encrypt the output of this and XOR it against the ciphertext / plaintext to get the
         * plaintext / ciphertext in CTR mode.
         *
         * @see Crypt_Twofish::decrypt()
         * @see Crypt_Twofish::encrypt()
         * @access public
         * @param String $iv
         */
    
        /**
         * mds_rem function using by the twofish cipher algorithm
         *
         * @access private
         * @param String $A
         * @param String $B
         * @return Array
         */
    
        /**
         * Creates performance-optimized function for de/encrypt(), storing it in $this->inline_crypt
         *
         * @access private
         */
    
        /**
         * Holds the lambda_functions table (classwide)
         *
         * @see inline_crypt_setup()
         * @return Array
         * @access private
         */
    

    File: /destinations/sftp/lib/phpseclib/File/ANSI.php

    /* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
    
    /**
     * Pure-PHP ANSI Decoder
     *
     * PHP versions 4 and 5
     *
     * If you call read() in Net_SSH2 you may get {@link http://en.wikipedia.org/wiki/ANSI_escape_code ANSI escape codes} back.
     * They'd look like chr(0x1B) . '[00m' or whatever (0x1B = ESC).  They tell a
     * {@link http://en.wikipedia.org/wiki/Terminal_emulator terminal emulator} how to format the characters, what
     * color to display them in, etc. File_ANSI is a {@link http://en.wikipedia.org/wiki/VT100 VT100} terminal emulator.
     *
     * LICENSE: Permission is hereby granted, free of charge, to any person obtaining a copy
     * of this software and associated documentation files (the "Software"), to deal
     * in the Software without restriction, including without limitation the rights
     * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
     * copies of the Software, and to permit persons to whom the Software is
     * furnished to do so, subject to the following conditions:
     * 
     * The above copyright notice and this permission notice shall be included in
     * all copies or substantial portions of the Software.
     * 
     * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
     * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
     * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
     * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
     * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
     * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
     * THE SOFTWARE.
     *
     * @category   File
     * @package    File_ANSI
     * @author     Jim Wigginton 
     * @copyright  MMXII Jim Wigginton
     * @license    http://www.opensource.org/licenses/mit-license.html  MIT License
     * @link       http://phpseclib.sourceforge.net
     */
    
    /**
     * Pure-PHP ANSI Decoder
     *
     * @author  Jim Wigginton 
     * @version 0.3.0
     * @access  public
     * @package File_ANSI
     */
    

    Class: File_ANSI

        /**
         * Max Width
         *
         * @var Integer
         * @access private
         */
    
        /**
         * Max Height
         *
         * @var Integer
         * @access private
         */
    
        /**
         * Max History
         *
         * @var Integer
         * @access private
         */
    
        /**
         * History
         *
         * @var Array
         * @access private
         */
    
        /**
         * History Attributes
         *
         * @var Array
         * @access private
         */
    
        /**
         * Current Column
         *
         * @var Integer
         * @access private
         */
    
        /**
         * Current Row
         *
         * @var Integer
         * @access private
         */
    
        /**
         * Old Column
         *
         * @var Integer
         * @access private
         */
    
        /**
         * Old Row
         *
         * @var Integer
         * @access private
         */
    
        /**
         * An empty attribute row
         *
         * @var Array
         * @access private
         */
    
        /**
         * The current screen text
         *
         * @var Array
         * @access private
         */
    
        /**
         * The current screen attributes
         *
         * @var Array
         * @access private
         */
    
        /**
         * The current foreground color
         *
         * @var String
         * @access private
         */
    
        /**
         * The current background color
         *
         * @var String
         * @access private
         */
    
        /**
         * Bold flag
         *
         * @var Boolean
         * @access private
         */
    
        /**
         * Underline flag
         *
         * @var Boolean
         * @access private
         */
    
        /**
         * Blink flag
         *
         * @var Boolean
         * @access private
         */
    
        /**
         * Reverse flag
         *
         * @var Boolean
         * @access private
         */
    
        /**
         * Color flag
         *
         * @var Boolean
         * @access private
         */
    
        /**
         * Current ANSI code
         *
         * @var String
         * @access private
         */
    
        /**
         * Default Constructor.
         *
         * @return File_ANSI
         * @access public
         */
    
        /**
         * Set terminal width and height
         *
         * Resets the screen as well
         *
         * @param Integer $x
         * @param Integer $y
         * @access public
         */
    
        /**
         * Set the number of lines that should be logged past the terminal height
         *
         * @param Integer $x
         * @param Integer $y
         * @access public
         */
    
        /**
         * Load a string
         *
         * @param String $source
         * @access public
         */
    
        /**
         * Appdend a string
         *
         * @param String $source
         * @access public
         */
    
        /**
         * Add a new line
         *
         * Also update the $this->screen and $this->history buffers
         *
         * @access private
         */
    
        /**
         * Returns the current screen without preformating
         *
         * @access private
         * @return String
         */
    
        /**
         * Returns the current screen
         *
         * @access public
         * @return String
         */
    
        /**
         * Returns the current screen and the x previous lines
         *
         * @access public
         * @return String
         */
    

    File: /destinations/sftp/lib/phpseclib/File/ASN1.php

    /* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
    
    /**
     * Pure-PHP ASN.1 Parser
     *
     * PHP versions 4 and 5
     *
     * ASN.1 provides the semantics for data encoded using various schemes.  The most commonly
     * utilized scheme is DER or the "Distinguished Encoding Rules".  PEM's are base64 encoded
     * DER blobs.
     *
     * File_ASN1 decodes and encodes DER formatted messages and places them in a semantic context.
     *
     * Uses the 1988 ASN.1 syntax.
     *
     * LICENSE: Permission is hereby granted, free of charge, to any person obtaining a copy
     * of this software and associated documentation files (the "Software"), to deal
     * in the Software without restriction, including without limitation the rights
     * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
     * copies of the Software, and to permit persons to whom the Software is
     * furnished to do so, subject to the following conditions:
     * 
     * The above copyright notice and this permission notice shall be included in
     * all copies or substantial portions of the Software.
     * 
     * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
     * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
     * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
     * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
     * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
     * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
     * THE SOFTWARE.
     *
     * @category   File
     * @package    File_ASN1
     * @author     Jim Wigginton 
     * @copyright  MMXII Jim Wigginton
     * @license    http://www.opensource.org/licenses/mit-license.html  MIT License
     * @link       http://phpseclib.sourceforge.net
     */
    
    /**#@+
     * Tag Classes
     *
     * @access private
     * @link http://www.itu.int/ITU-T/studygroups/com17/languages/X.690-0207.pdf#page=12
     */
    
    /**#@-*/
    
    /**#@+
     * Tag Classes
     *
     * @access private
     * @link http://www.obj-sys.com/asn1tutorial/node124.html
     */
    
    /**#@-*/
    
    /**#@+
     * More Tag Classes
     *
     * @access private
     * @link http://www.obj-sys.com/asn1tutorial/node10.html
     */
    
    /**#@-*/
    
    /**#@+
     * Tag Aliases
     *
     * These tags are kinda place holders for other tags.
     *
     * @access private
     */
    
    /**#@-*/
    
    /**
     * ASN.1 Element
     *
     * Bypass normal encoding rules in File_ASN1::encodeDER()
     *
     * @author  Jim Wigginton 
     * @version 0.3.0
     * @access  public
     * @package File_ASN1
     */
    

    Class: File_ASN1_Element

        /**
         * Raw element value
         *
         * @var String
         * @access private
         */
    
        /**
         * Constructor
         *
         * @param String $encoded
         * @return File_ASN1_Element
         * @access public
         */
    
    /**
     * Pure-PHP ASN.1 Parser
     *
     * @author  Jim Wigginton 
     * @version 0.3.0
     * @access  public
     * @package File_ASN1
     */
    

    Class: File_ASN1

        /**
         * ASN.1 object identifier
         *
         * @var Array
         * @access private
         * @link http://en.wikipedia.org/wiki/Object_identifier
         */
    
        /**
         * Default date format
         *
         * @var String
         * @access private
         * @link http://php.net/class.datetime
         */
    
        /**
         * Default date format
         *
         * @var Array
         * @access private
         * @see File_ASN1::setTimeFormat()
         * @see File_ASN1::asn1map()
         * @link http://php.net/class.datetime
         */
    
        /**
         * Filters
         *
         * If the mapping type is FILE_ASN1_TYPE_ANY what do we actually encode it as?
         *
         * @var Array
         * @access private
         * @see File_ASN1::_encode_der()
         */
    
        /**
         * Type mapping table for the ANY type.
         *
         * Structured or unknown types are mapped to a FILE_ASN1_Element.
         * Unambiguous types get the direct mapping (int/real/bool).
         * Others are mapped as a choice, with an extra indexing level.
         *
         * @var Array
         * @access public
         */
    
        /**
         * String type to character size mapping table.
         *
         * Non-convertable types are absent from this table.
         * size == 0 indicates variable length encoding.
         *
         * @var Array
         * @access public
         */
    
        /**
         * Default Constructor.
         *
         * @access public
         */
    
        /**
         * Parse BER-encoding
         *
         * Serves a similar purpose to openssl's asn1parse
         *
         * @param String $encoded
         * @return Array
         * @access public
         */
    
        /**
         * Parse BER-encoding (Helper function)
         *
         * Sometimes we want to get the BER encoding of a particular tag.  $start lets us do that without having to reencode.
         * $encoded is passed by reference for the recursive calls done for FILE_ASN1_TYPE_BIT_STRING and
         * FILE_ASN1_TYPE_OCTET_STRING. In those cases, the indefinite length is used.
         *
         * @param String $encoded
         * @param Integer $start
         * @return Array
         * @access private
         */
    
                /* Class is UNIVERSAL, APPLICATION, PRIVATE, or CONTEXT-SPECIFIC. The UNIVERSAL class is restricted to the ASN.1
                   built-in types. It defines an application-independent data type that must be distinguishable from all other
                   data types. The other three classes are user defined. The APPLICATION class distinguishes data types that
                   have a wide, scattered use within a particular presentation context. PRIVATE distinguishes data types within
                   a particular organization or country. CONTEXT-SPECIFIC distinguishes members of a sequence or set, the
                   alternatives of a CHOICE, or universally tagged set members. Only the class number appears in braces for this
                   data type; the term CONTEXT-SPECIFIC does not appear.
    
                     -- http://www.obj-sys.com/asn1tutorial/node12.html */
    
                    /* Each character string type shall be encoded as if it had been declared:
                       [UNIVERSAL x] IMPLICIT OCTET STRING
    
                         -- X.690-0207.pdf#page=23 (paragraph 8.21.3)
    
                       Per that, we're not going to do any validation.  If there are any illegal characters in the string, 
                       we don't really care */
    
        /**
         * ASN.1 Decode
         *
         * Provides an ASN.1 semantic mapping ($mapping) from a parsed BER-encoding to a human readable format.
         *
         * @param Array $decoded
         * @param Array $mapping
         * @return Array
         * @access public
         */
    
                        /*
                           From X.680-0207.pdf#page=46 (21.7):
    
                           "When a "NamedBitList" is used in defining a bitstring type ASN.1 encoding rules are free to add (or remove)
                            arbitrarily any trailing 0 bits to (or from) values that are being encoded or decoded. Application designers should
                            therefore ensure that different semantics are not associated with such values which differ only in the number of trailing
                            0 bits."
                        */
    
        /**
         * ASN.1 Encode
         *
         * DER-encodes an ASN.1 semantic mapping ($mapping).  Some libraries would probably call this function
         * an ASN.1 compiler.
         *
         * @param String $source
         * @param String $mapping
         * @param Integer $idx
         * @return String
         * @access public
         */
    
        /**
         * ASN.1 Encode (Helper function)
         *
         * @param String $source
         * @param String $mapping
         * @param Integer $idx
         * @return String
         * @access private
         */
    
                            /*
                               From X.680-0207.pdf#page=58 (30.6):
    
                               "The tagging construction specifies explicit tagging if any of the following holds:
                                ...
                                c) the "Tag Type" alternative is used and the value of "TagDefault" for the module is IMPLICIT TAGS or
                                AUTOMATIC TAGS, but the type defined by "Type" is an untagged choice type, an untagged open type, or
                                an untagged "DummyReference" (see ITU-T Rec. X.683 | ISO/IEC 8824-4, 8.3)."
                             */
    
                    /* The initial octet shall encode, as an unsigned binary integer with bit 1 as the least significant bit,
                       the number of unused bits in the final subsequent octet. The number shall be in the range zero to seven.
    
                       -- http://www.itu.int/ITU-T/studygroups/com17/languages/X.690-0207.pdf#page=16 */
    
        /**
         * DER-encode the length
         *
         * DER supports lengths up to (2**8)**127, however, we'll only support lengths up to (2**8)**4.  See
         * {@link http://itu.int/ITU-T/studygroups/com17/languages/X.690-0207.pdf#p=13 X.690 paragraph 8.1.3} for more information.
         *
         * @access private
         * @param Integer $length
         * @return String
         */
    
        /**
         * BER-decode the time
         *
         * Called by _decode_ber() and in the case of implicit tags asn1map().
         *
         * @access private
         * @param String $content
         * @param Integer $tag
         * @return String
         */
    
            /* UTCTime:
               http://tools.ietf.org/html/rfc5280#section-4.1.2.5.1
               http://www.obj-sys.com/asn1tutorial/node15.html
    
               GeneralizedTime:
               http://tools.ietf.org/html/rfc5280#section-4.1.2.5.2
               http://www.obj-sys.com/asn1tutorial/node14.html */
    
        /**
         * Set the time format
         *
         * Sets the time / date format for asn1map().
         *
         * @access public
         * @param String $format
         */
    
        /**
         * Load OIDs
         *
         * Load the relevant OIDs for a particular ASN.1 semantic mapping.
         *
         * @access public
         * @param Array $oids
         */
    
        /**
         * Load filters
         *
         * See File_X509, etc, for an example.
         *
         * @access public
         * @param Array $filters
         */
    
        /**
         * String Shift
         *
         * Inspired by array_shift
         *
         * @param String $string
         * @param optional Integer $index
         * @return String
         * @access private
         */
    
        /**
         * String type conversion
         *
         * This is a lazy conversion, dealing only with character size.
         * No real conversion table is used.
         *
         * @param String $in
         * @param optional Integer $from
         * @param optional Integer $to
         * @return String
         * @access public
         */
    

    File: /destinations/sftp/lib/phpseclib/File/X509.php

    /* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
    
    /**
     * Pure-PHP X.509 Parser
     *
     * PHP versions 4 and 5
     *
     * Encode and decode X.509 certificates.
     *
     * The extensions are from {@link http://tools.ietf.org/html/rfc5280 RFC5280} and 
     * {@link http://web.archive.org/web/19961027104704/http://www3.netscape.com/eng/security/cert-exts.html Netscape Certificate Extensions}.
     *
     * Note that loading an X.509 certificate and resaving it may invalidate the signature.  The reason being that the signature is based on a
     * portion of the certificate that contains optional parameters with default values.  ie. if the parameter isn't there the default value is
     * used.  Problem is, if the parameter is there and it just so happens to have the default value there are two ways that that parameter can
     * be encoded.  It can be encoded explicitly or left out all together.  This would effect the signature value and thus may invalidate the
     * the certificate all together unless the certificate is re-signed.
     *
     * LICENSE: Permission is hereby granted, free of charge, to any person obtaining a copy
     * of this software and associated documentation files (the "Software"), to deal
     * in the Software without restriction, including without limitation the rights
     * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
     * copies of the Software, and to permit persons to whom the Software is
     * furnished to do so, subject to the following conditions:
     * 
     * The above copyright notice and this permission notice shall be included in
     * all copies or substantial portions of the Software.
     * 
     * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
     * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
     * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
     * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
     * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
     * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
     * THE SOFTWARE.
     *
     * @category   File
     * @package    File_X509
     * @author     Jim Wigginton 
     * @copyright  MMXII Jim Wigginton
     * @license    http://www.opensource.org/licenses/mit-license.html  MIT License
     * @link       http://phpseclib.sourceforge.net
     */
    
    /**
     * Include File_ASN1
     */
    
    /**
     * Flag to only accept signatures signed by certificate authorities
     *
     * Not really used anymore but retained all the same to suppress E_NOTICEs from old installs
     *
     * @access public
     */
    
    /**#@+
     * @access public
     * @see File_X509::getDN()
     */
    
    /**
     * Return internal array representation
     */
    
    /**
     * Return string
     */
    
    /**
     * Return ASN.1 name string
     */
    
    /**
     * Return OpenSSL compatible array
     */
    
    /**
     * Return canonical ASN.1 RDNs string
     */
    
    /**
     * Return name hash for file indexing
     */
    
    /**#@-*/
    
    /**#@+
     * @access public
     * @see File_X509::saveX509()
     * @see File_X509::saveCSR()
     * @see File_X509::saveCRL()
     */
    
    /**
     * Save as PEM
     *
     * ie. a base64-encoded PEM with a header and a footer
     */
    
    /**
     * Save as DER
     */
    
    /**
     * Save as a SPKAC
     *
     * Only works on CSRs. Not currently supported.
     */
    
    /**#@-*/
    
    /**
     * Attribute value disposition.
     * If disposition is >= 0, this is the index of the target value.
     */
    
    /**
     * Pure-PHP X.509 Parser
     *
     * @author  Jim Wigginton 
     * @version 0.3.1
     * @access  public
     * @package File_X509
     */
    

    Class: File_X509

        /**
         * ASN.1 syntax for X.509 certificates
         *
         * @var Array
         * @access private
         */
    
        /**#@+
         * ASN.1 syntax for various extensions
         *
         * @access private
         */
    
        /**#@-*/
    
        /**
         * ASN.1 syntax for Certificate Signing Requests (RFC2986)
         *
         * @var Array
         * @access private
         */
    
        /**
         * ASN.1 syntax for Certificate Revocation Lists (RFC5280)
         *
         * @var Array
         * @access private
         */
    
        /**
         * Distinguished Name
         *
         * @var Array
         * @access private
         */
    
        /**
         * Public key
         *
         * @var String
         * @access private
         */
    
        /**
         * Private key
         *
         * @var String
         * @access private
         */
    
        /**
         * Object identifiers for X.509 certificates
         *
         * @var Array
         * @access private
         * @link http://en.wikipedia.org/wiki/Object_identifier
         */
    
        /**
         * The certificate authorities
         *
         * @var Array
         * @access private
         */
    
        /**
         * The currently loaded certificate
         *
         * @var Array
         * @access private
         */
    
        /**
         * The signature subject
         *
         * There's no guarantee File_X509 is going to reencode an X.509 cert in the same way it was originally
         * encoded so we take save the portion of the original cert that the signature would have made for. 
         *
         * @var String
         * @access private
         */
    
        /**
         * Certificate Start Date
         *
         * @var String
         * @access private
         */
    
        /**
         * Certificate End Date
         *
         * @var String
         * @access private
         */
    
        /**
         * Serial Number
         *
         * @var String
         * @access private
         */
    
        /**
         * Key Identifier
         *
         * See {@link http://tools.ietf.org/html/rfc5280#section-4.2.1.1 RFC5280#section-4.2.1.1} and
         * {@link http://tools.ietf.org/html/rfc5280#section-4.2.1.2 RFC5280#section-4.2.1.2}.
         *
         * @var String
         * @access private
         */
    
        /**
         * CA Flag
         *
         * @var Boolean
         * @access private
         */
    
        /**
         * Default Constructor.
         *
         * @return File_X509
         * @access public
         */
    
            /*
            In practice, RDNs containing multiple name-value pairs (called "multivalued RDNs") are rare,
            but they can be useful at times when either there is no unique attribute in the entry or you
            want to ensure that the entry's DN contains some useful identifying information.
    
            - https://www.opends.org/wiki/page/DefinitionRelativeDistinguishedName
            */
    
            /*
               A certificate using system MUST reject the certificate if it encounters
               a critical extension it does not recognize; however, a non-critical
               extension may be ignored if it is not recognized.
    
               http://tools.ietf.org/html/rfc5280#section-4.2
            */
    
        /**
         * Load X.509 certificate
         *
         * Returns an associative array describing the X.509 cert or a false if the cert failed to load
         *
         * @param String $cert
         * @access public
         * @return Mixed
         */
    
        /**
         * Save X.509 certificate
         *
         * @param Array $cert
         * @param Integer $format optional
         * @access public
         * @return String
         */
    
            /* in the case of policyQualifiers/qualifier, the type has to be FILE_ASN1_TYPE_IA5_STRING.
               FILE_ASN1_TYPE_PRINTABLE_STRING will cause OpenSSL's X.509 parser to spit out random
               characters.
             */
    
        /**
         * Map extension values from octet string to extension-specific internal
         *   format.
         *
         * @param Array ref $root
         * @param String $path
         * @param Object $asn1
         * @access private
         */
    
                    /* [extnValue] contains the DER encoding of an ASN.1 value
                       corresponding to the extension type identified by extnID */
    
        /**
         * Map extension values from extension-specific internal format to
         *   octet string.
         *
         * @param Array ref $root
         * @param String $path
         * @param Object $asn1
         * @access private
         */
    
                    /* [extnValue] contains the DER encoding of an ASN.1 value
                       corresponding to the extension type identified by extnID */
    
        /**
         * Map attribute values from ANY type to attribute-specific internal
         *   format.
         *
         * @param Array ref $root
         * @param String $path
         * @param Object $asn1
         * @access private
         */
    
                    /* $value contains the DER encoding of an ASN.1 value
                       corresponding to the attribute type identified by type */
    
        /**
         * Map attribute values from attribute-specific internal format to
         *   ANY type.
         *
         * @param Array ref $root
         * @param String $path
         * @param Object $asn1
         * @access private
         */
    
                    /* [value] contains the DER encoding of an ASN.1 value
                       corresponding to the attribute type identified by type */
    
        /**
         * Associate an extension ID to an extension mapping
         *
         * @param String $extnId
         * @access private
         * @return Mixed
         */
    
        /**
         * Load an X.509 certificate as a certificate authority
         *
         * @param String $cert
         * @access public
         * @return Boolean
         */
    
            /* From RFC5280 "PKIX Certificate and CRL Profile":
    
               If the keyUsage extension is present, then the subject public key
               MUST NOT be used to verify signatures on certificates or CRLs unless
               the corresponding keyCertSign or cRLSign bit is set. */
    
            /* From RFC5280 "PKIX Certificate and CRL Profile":
    
               The cA boolean indicates whether the certified public key may be used
               to verify certificate signatures.  If the cA boolean is not asserted,
               then the keyCertSign bit in the key usage extension MUST NOT be
               asserted.  If the basic constraints extension is not present in a
               version 3 certificate, or the extension is present but the cA boolean
               is not asserted, then the certified public key MUST NOT be used to
               verify certificate signatures. */
    
        /**
         * Validate an X.509 certificate against a URL
         *
         * From RFC2818 "HTTP over TLS":
         *
         * Matching is performed using the matching rules specified by
         * [RFC2459].  If more than one identity of a given type is present in
         * the certificate (e.g., more than one dNSName name, a match in any one
         * of the set is considered acceptable.) Names may contain the wildcard
         * character * which is considered to match any single domain name
         * component or component fragment. E.g., *.a.com matches foo.a.com but
         * not bar.foo.a.com. f*.com matches foo.com but not bar.com.
         *
         * @param String $url
         * @access public
         * @return Boolean
         */
    
                            /* From RFC2818 "HTTP over TLS":
    
                               If a subjectAltName extension of type dNSName is present, that MUST
                               be used as the identity. Otherwise, the (most specific) Common Name
                               field in the Subject field of the certificate MUST be used. Although
                               the use of the Common Name is existing practice, it is deprecated and
                               Certification Authorities are encouraged to use the dNSName instead. */
    
                            /* From RFC2818 "HTTP over TLS":
    
                               In some cases, the URI is specified as an IP address rather than a
                               hostname. In this case, the iPAddress subjectAltName must be present
                               in the certificate and must exactly match the IP in the URI. */
    
        /**
         * Validate a date
         *
         * If $date isn't defined it is assumed to be the current date.
         *
         * @param Integer $date optional
         * @access public
         */
    
        /**
         * Validate a signature
         *
         * Works on X.509 certs, CSR's and CRL's.
         * Returns true if the signature is verified, false if it is not correct or NULL on error
         *
         * By default returns false for self-signed certs. Call validateSignature(false) to make this support
         * self-signed.
         *
         * The behavior of this function is inspired by {@link http://php.net/openssl-verify openssl_verify}.
         *
         * @param Boolean $caonly optional
         * @access public
         * @return Mixed
         */
    
            /* TODO:
               "emailAddress attribute values are not case-sensitive (e.g., "subscriber@example.com" is the same as "SUBSCRIBER@EXAMPLE.COM")."
                -- http://tools.ietf.org/html/rfc5280#section-4.1.2.6
    
               implement pathLenConstraint in the id-ce-basicConstraints extension */
    
        /**
         * Validates a signature
         *
         * Returns true if the signature is verified, false if it is not correct or NULL on error
         *
         * @param String $publicKeyAlgorithm
         * @param String $publicKey
         * @param String $signatureAlgorithm
         * @param String $signature
         * @param String $signatureSubject
         * @access private
         * @return Integer
         */
    
        /**
         * Reformat public keys
         *
         * Reformats a public key to a format supported by phpseclib (if applicable)
         *
         * @param String $algorithm
         * @param String $key
         * @access private
         * @return String
         */
    
        /**
         * "Normalizes" a Distinguished Name property
         *
         * @param String $propName
         * @access private
         * @return Mixed
         */
    
        /**
         * Set a Distinguished Name property
         *
         * @param String $propName
         * @param Mixed $propValue
         * @param String $type optional
         * @access public
         * @return Boolean
         */
    
        /**
         * Remove Distinguished Name properties
         *
         * @param String $propName
         * @access public
         */
    
        /**
         * Get Distinguished Name properties
         *
         * @param String $propName
         * @param Array $dn optional
         * @param Boolean $withType optional
         * @return Mixed
         * @access public
         */
    
        /**
         * Set a Distinguished Name
         *
         * @param Mixed $dn
         * @param Boolean $merge optional
         * @param String $type optional
         * @access public
         * @return Boolean
         */
    
        /**
         * Get the Distinguished Name for a certificates subject
         *
         * @param Mixed $format optional
         * @param Array $dn optional
         * @access public
         * @return Boolean
         */
    
        /**
         * Get the Distinguished Name for a certificate/crl issuer
         *
         * @param Integer $format optional
         * @access public
         * @return Mixed
         */
    
        /**
         * Get the Distinguished Name for a certificate/csr subject
         * Alias of getDN()
         *
         * @param Integer $format optional
         * @access public
         * @return Mixed
         */
    
        /**
         * Get an individual Distinguished Name property for a certificate/crl issuer
         *
         * @param String $propName
         * @param Boolean $withType optional
         * @access public
         * @return Mixed
         */
    
        /**
         * Get an individual Distinguished Name property for a certificate/csr subject
         *
         * @param String $propName
         * @param Boolean $withType optional
         * @access public
         * @return Mixed
         */
    
        /**
         * Get the certificate chain for the current cert
         *
         * @access public
         * @return Mixed
         */
    
        /**
         * Set public key
         *
         * Key needs to be a Crypt_RSA object
         *
         * @param Object $key
         * @access public
         * @return Boolean
         */
    
        /**
         * Set private key
         *
         * Key needs to be a Crypt_RSA object
         *
         * @param Object $key
         * @access public
         */
    
        /**
         * Gets the public key
         *
         * Returns a Crypt_RSA object or a false.
         *
         * @access public
         * @return Mixed
         */
    
        /**
         * Load a Certificate Signing Request
         *
         * @param String $csr
         * @access public
         * @return Mixed
         */
    
        /**
         * Save CSR request
         *
         * @param Array $csr
         * @param Integer $format optional
         * @access public
         * @return String
         */
    
        /**
         * Load a SPKAC CSR
         *
         * SPKAC's are produced by the HTML5 keygen element:
         *
         * https://developer.mozilla.org/en-US/docs/HTML/Element/keygen
         *
         * @param String $csr
         * @access public
         * @return Mixed
         */
    
        /**
         * Load a Certificate Revocation List
         *
         * @param String $crl
         * @access public
         * @return Mixed
         */
    
        /**
         * Save Certificate Revocation List.
         *
         * @param Array $crl
         * @param Integer $format optional
         * @access public
         * @return String
         */
    
        /**
         * Sign an X.509 certificate
         *
         * $issuer's private key needs to be loaded.
         * $subject can be either an existing X.509 cert (if you want to resign it),
         * a CSR or something with the DN and public key explicitly set.
         *
         * @param File_X509 $issuer
         * @param File_X509 $subject
         * @param String $signatureAlgorithm optional
         * @access public
         * @return Mixed
         */
    
        /**
         * Sign a CSR
         *
         * @access public
         * @return Mixed
         */
    
        /**
         * Sign a CRL
         *
         * $issuer's private key needs to be loaded.
         *
         * @param File_X509 $issuer
         * @param File_X509 $crl
         * @param String $signatureAlgorithm optional
         * @access public
         * @return Mixed
         */
    
        /**
         * X.509 certificate signing helper function.
         *
         * @param Object $key
         * @param File_X509 $subject
         * @param String $signatureAlgorithm
         * @access public
         * @return Mixed
         */
    
        /**
         * Set certificate start date
         *
         * @param String $date
         * @access public
         */
    
        /**
         * Set certificate end date
         *
         * @param String $date
         * @access public
         */
    
            /*
              To indicate that a certificate has no well-defined expiration date,
              the notAfter SHOULD be assigned the GeneralizedTime value of
              99991231235959Z.
    
              -- http://tools.ietf.org/html/rfc5280#section-4.1.2.5
            */
    
        /**
         * Set Serial Number
         *
         * @param String $serial
         * @param $base optional
         * @access public
         */
    
        /**
         * Turns the certificate into a certificate authority
         *
         * @access public
         */
    
        /**
         * Get a reference to a subarray
         *
         * @param array $root
         * @param String $path  absolute path with / as component separator
         * @param Boolean $create optional
         * @access private
         * @return array item ref or false
         */
    
        /**
         * Get a reference to an extension subarray
         *
         * @param array $root
         * @param String $path optional absolute path with / as component separator
         * @param Boolean $create optional
         * @access private
         * @return array ref or false
         */
    
        /**
         * Remove an Extension
         *
         * @param String $id
         * @param String $path optional
         * @access private
         * @return Boolean
         */
    
        /**
         * Get an Extension
         *
         * Returns the extension if it exists and false if not
         *
         * @param String $id
         * @param Array $cert optional
         * @param String $path optional
         * @access private
         * @return Mixed
         */
    
        /**
         * Returns a list of all extensions in use
         *
         * @param array $cert optional
         * @param String $path optional
         * @access private
         * @return Array
         */
    
        /**
         * Set an Extension
         *
         * @param String $id
         * @param Mixed $value
         * @param Boolean $critical optional
         * @param Boolean $replace optional
         * @param String $path optional
         * @access private
         * @return Boolean
         */
    
        /**
         * Remove a certificate, CSR or CRL Extension
         *
         * @param String $id
         * @access public
         * @return Boolean
         */
    
        /**
         * Get a certificate, CSR or CRL Extension
         *
         * Returns the extension if it exists and false if not
         *
         * @param String $id
         * @param Array $cert optional
         * @access public
         * @return Mixed
         */
    
        /**
         * Returns a list of all extensions in use in certificate, CSR or CRL
         *
         * @param array $cert optional
         * @access public
         * @return Array
         */
    
        /**
         * Set a certificate, CSR or CRL Extension
         *
         * @param String $id
         * @param Mixed $value
         * @param Boolean $critical optional
         * @param Boolean $replace optional
         * @access public
         * @return Boolean
         */
    
        /**
         * Remove a CSR attribute.
         *
         * @param String $id
         * @param Integer $disposition optional
         * @access public
         * @return Boolean
         */
    
        /**
         * Get a CSR attribute
         *
         * Returns the attribute if it exists and false if not
         *
         * @param String $id
         * @param Integer $disposition optional
         * @param Array $csr optional
         * @access public
         * @return Mixed
         */
    
        /**
         * Returns a list of all CSR attributes in use
         *
         * @param array $csr optional
         * @access public
         * @return Array
         */
    
        /**
         * Set a CSR attribute
         *
         * @param String $id
         * @param Mixed $value
         * @param Boolean $disposition optional
         * @access public
         * @return Boolean
         */
    
        /**
         * Sets the subject key identifier
         *
         * This is used by the id-ce-authorityKeyIdentifier and the id-ce-subjectKeyIdentifier extensions.
         *
         * @param String $value
         * @access public
         */
    
        /**
         * Compute a public key identifier.
         *
         * Although key identifiers may be set to any unique value, this function
         * computes key identifiers from public key according to the two
         * recommended methods (4.2.1.2 RFC 3280).
         * Highly polymorphic: try to accept all possible forms of key:
         * - Key object
         * - File_X509 object with public or private key defined
         * - Certificate or CSR array
         * - File_ASN1_Element object
         * - PEM or DER string
         *
         * @param Mixed $key optional
         * @param Integer $method optional
         * @access public
         * @return String binary key identifier
         */
    
        /**
         * Format a public key as appropriate
         *
         * @access private
         * @return Array
         */
    
        /**
         * Set the domain name's which the cert is to be valid for
         *
         * @access public
         * @return Array
         */
    
        /**
         * Helper function to build domain array
         *
         * @access private
         * @param String $domain
         * @return Array
         */
    
        /**
         * Get the index of a revoked certificate.
         *
         * @param array $rclist
         * @param String $serial
         * @param Boolean $create optional
         * @access private
         * @return Integer or false
         */
    
        /**
         * Revoke a certificate.
         *
         * @param String $serial
         * @param String $date optional
         * @access public
         * @return Boolean
         */
    
        /**
         * Unrevoke a certificate.
         *
         * @param String $serial
         * @access public
         * @return Boolean
         */
    
        /**
         * Get a revoked certificate.
         *
         * @param String $serial
         * @access public
         * @return Mixed
         */
    
        /**
         * List revoked certificates
         *
         * @param array $crl optional
         * @access public
         * @return array
         */
    
        /**
         * Remove a Revoked Certificate Extension
         *
         * @param String $serial
         * @param String $id
         * @access public
         * @return Boolean
         */
    
        /**
         * Get a Revoked Certificate Extension
         *
         * Returns the extension if it exists and false if not
         *
         * @param String $serial
         * @param String $id
         * @param Array $crl optional
         * @access public
         * @return Mixed
         */
    
        /**
         * Returns a list of all extensions in use for a given revoked certificate
         *
         * @param String $serial
         * @param array $crl optional
         * @access public
         * @return Array
         */
    
        /**
         * Set a Revoked Certificate Extension
         *
         * @param String $serial
         * @param String $id
         * @param Mixed $value
         * @param Boolean $critical optional
         * @param Boolean $replace optional
         * @access public
         * @return Boolean
         */
    
        /**
         * Extract raw BER from Base64 encoding
         *
         * @access private
         * @param String $str
         * @return String
         */
    
            /*
                X.509 certs are assumed to be base64 encoded but sometimes they'll have additional things in them above and beyond the ceritificate. ie.
                some may have the following preceding the -----BEGIN CERTIFICATE----- line:
    
                Bag Attributes
                    localKeyID: 01 00 00 00
                subject=/O=organization/OU=org unit/CN=common name
                issuer=/O=organization/CN=common name
            */
    

    File: /destinations/email/_configure.php

    /*
    	Pre-populated variables coming into this script:
    		$destination_settings
    		$mode
    */
    

    File: /destinations/email/init.php

    Class: pb_backupbuddy_destination_email

    	/*	send()
    	 *	
    	 *	Send one or more files.
    	 *	
    	 *	@param		array			$files		Array of one or more files to send.
    	 *	@return		boolean						True on success, else false.
    	 */
    
    	/*	test()
    	 *	
    	 *	Sends a text email with ImportBuddy.php zipped up and attached to it.
    	 *	
    	 *	@param		array			$settings	Destination settings.
    	 *	@return		bool|string					True on success, string error message on failure.
    	 */
    

    File: /destinations/rackspace/_configure.php


    File: /destinations/rackspace/_manage.php

    	/*
    	if ( isset( $destination['server'] ) ) {
    		$rs_server = $destination['server'];
    	} else {
    		$rs_server = 'https://auth.api.rackspacecloud.com';
    	}
    	$rs_path = ''; //$destination['path'];
    	*/
    
    	/*
    	if ( $rs_path != '' ) {
    		$results = $container->get_objects( 0, NULL, 'backup-', $rs_path );
    	} else {
    	*/
    
    	/* } */
    

    File: /destinations/rackspace/init.php

    Class: pb_backupbuddy_destination_rackspace { // Change class name end to match destination name

    	/*	send()
    	 *	
    	 *	Send one or more files.
    	 *	
    	 *	@param		array			$files		Array of one or more files to send.
    	 *	@return		boolean						True on success, else false.
    	 */
    
    	/*	test()
    	 *	
    	 *	Tests ability to write to this remote destination.
    	 *	
    	 *	@param		array			$settings	Destination settings.
    	 *	@return		bool|string					True on success, string error message on failure.
    	 */
    

    File: /destinations/rackspace/lib/rackspace/cloudfiles.php

    /**
     * This is the PHP Cloud Files API.
     *
     * 
     *   # Authenticate to Cloud Files.  The default is to automatically try
     *   # to re-authenticate if an authentication token expires.
     *   #
     *   # NOTE: Some versions of cURL include an outdated certificate authority (CA)
     *   #       file.  This API ships with a newer version obtained directly from
     *   #       cURL's web site (http://curl.haxx.se).  To use the newer CA bundle,
     *   #       call the CF_Authentication instance's 'ssl_use_cabundle()' method.
     *   #
     *   $auth = new CF_Authentication($username, $api_key);
     *   # $auth->ssl_use_cabundle();  # bypass cURL's old CA bundle
     *   $auth->authenticate();
     *
     *   # Establish a connection to the storage system
     *   #
     *   # NOTE: Some versions of cURL include an outdated certificate authority (CA)
     *   #       file.  This API ships with a newer version obtained directly from
     *   #       cURL's web site (http://curl.haxx.se).  To use the newer CA bundle,
     *   #       call the CF_Connection instance's 'ssl_use_cabundle()' method.
     *   #
     *   $conn = new CF_Connection($auth);
     *   # $conn->ssl_use_cabundle();  # bypass cURL's old CA bundle
     *
     *   # Create a remote Container and storage Object
     *   #
     *   $images = $conn->create_container("photos");
     *   $bday = $images->create_object("first_birthday.jpg");
     *
     *   # Upload content from a local file by streaming it.  Note that we use
     *   # a "float" for the file size to overcome PHP's 32-bit integer limit for
     *   # very large files.
     *   #
     *   $fname = "/home/user/photos/birthdays/birthday1.jpg";  # filename to upload
     *   $size = (float) sprintf("%u", filesize($fname));
     *   $fp = open($fname, "r");
     *   $bday->write($fp, $size);
     *
     *   # Or... use a convenience function instead
     *   #
     *   $bday->load_from_filename("/home/user/photos/birthdays/birthday1.jpg");
     *
     *   # Now, publish the "photos" container to serve the images by CDN.
     *   # Use the "$uri" value to put in your web pages or send the link in an
     *   # email message, etc.
     *   #
     *   $uri = $images->make_public();
     *
     *   # Or... print out the Object's public URI
     *   #
     *   print $bday->public_uri();
     * 
     *
     * See the included tests directory for additional sample code.
     *
     * Requres PHP 5.x (for Exceptions and OO syntax) and PHP's cURL module.
     *
     * It uses the supporting "cloudfiles_http.php" module for HTTP(s) support and
     * allows for connection re-use and streaming of content into/out of Cloud Files
     * via PHP's cURL module.
     *
     * See COPYING for license information.
     *
     * @author Eric "EJ" Johnson 
     * @copyright Copyright (c) 2008, Rackspace US, Inc.
     * @package php-cloudfiles
     */
    
    /**
     */
    
    /**
     * Class for handling Cloud Files Authentication, call it's {@link authenticate()}
     * method to obtain authorized service urls and an authentication token.
     *
     * Example:
     * 
     * # Create the authentication instance
     * #
     * $auth = new CF_Authentication("username", "api_key");
     *
     * # NOTE: For UK Customers please specify your AuthURL Manually
     * # There is a Predfined constant to use EX:
     * #
     * # $auth = new CF_Authentication("username, "api_key", NULL, UK_AUTHURL);
     * # Using the UK_AUTHURL keyword will force the api to use the UK AuthUrl.
     * # rather then the US one. The NULL Is passed for legacy purposes and must
     * # be passed to function correctly.
     *
     * # NOTE: Some versions of cURL include an outdated certificate authority (CA)
     * #       file.  This API ships with a newer version obtained directly from
     * #       cURL's web site (http://curl.haxx.se).  To use the newer CA bundle,
     * #       call the CF_Authentication instance's 'ssl_use_cabundle()' method.
     * #
     * # $auth->ssl_use_cabundle(); # bypass cURL's old CA bundle
     *
     * # Perform authentication request
     * #
     * $auth->authenticate();
     * 
     *
     * @package php-cloudfiles
     */
    
        /**
         * Instance variables that are set after successful authentication
         */
    
        /**
         * Class constructor (PHP 5 syntax)
         *
         * @param string $username Mosso username
         * @param string $api_key Mosso API Access Key
         * @param string $account  Account name
         * @param string $auth_host  Authentication service URI
         */
    
        /**
         * Use the Certificate Authority bundle included with this API
         *
         * Most versions of PHP with cURL support include an outdated Certificate
         * Authority (CA) bundle (the file that lists all valid certificate
         * signing authorities).  The SSL certificates used by the Cloud Files
         * storage system are perfectly valid but have been created/signed by
         * a CA not listed in these outdated cURL distributions.
         *
         * As a work-around, we've included an updated CA bundle obtained
         * directly from cURL's web site (http://curl.haxx.se).  You can direct
         * the API to use this CA bundle by calling this method prior to making
         * any remote calls.  The best place to use this method is right after
         * the CF_Authentication instance has been instantiated.
         *
         * You can specify your own CA bundle by passing in the full pathname
         * to the bundle.  You can use the included CA bundle by leaving the
         * argument blank.
         *
         * @param string $path Specify path to CA bundle (default to included)
         */
    
        /**
         * Attempt to validate Username/API Access Key
         *
         * Attempts to validate credentials with the authentication service.  It
         * either returns True or throws an Exception.  Accepts a single
         * (optional) argument for the storage system API version.
         *
         * Example:
         * 
         * # Create the authentication instance
         * #
         * $auth = new CF_Authentication("username", "api_key");
         *
         * # Perform authentication request
         * #
         * $auth->authenticate();
         * 
         *
         * @param string $version API version for Auth service (optional)
         * @return boolean True if successfully authenticated
         * @throws AuthenticationException invalid credentials
         * @throws InvalidResponseException invalid response
         */
    
    	/**
    	 * Use Cached Token and Storage URL's rather then grabbing from the Auth System
             *
             * Example:
     	 * 
             * #Create an Auth instance
             * $auth = new CF_Authentication();
             * #Pass Cached URL's and Token as Args
    	 * $auth->load_cached_credentials("auth_token", "storage_url", "cdn_management_url");
             * 
    	 * 
    	 * @param string $auth_token A Cloud Files Auth Token (Required)
             * @param string $storage_url The Cloud Files Storage URL (Required)
             * @param string $cdnm_url CDN Management URL (Required)
             * @return boolean True if successful 
    	 * @throws SyntaxException If any of the Required Arguments are missing
             */
    
    	/**
             * Grab Cloud Files info to be Cached for later use with the load_cached_credentials method.
             *
    	 * Example:
             * 
             * #Create an Auth instance
             * $auth = new CF_Authentication("UserName","API_Key");
             * $auth->authenticate();
             * $array = $auth->export_credentials();
             * 
             * 
    	 * @return array of url's and an auth token.
             */
    
        /**
         * Make sure the CF_Authentication instance has authenticated.
         *
         * Ensures that the instance variables necessary to communicate with
         * Cloud Files have been set from a previous authenticate() call.
         *
         * @return boolean True if successfully authenticated
         */
    
        /**
         * Toggle debugging - set cURL verbose flag
         */
    
    /**
     * Class for establishing connections to the Cloud Files storage system.
     * Connection instances are used to communicate with the storage system at
     * the account level; listing and deleting Containers and returning Container
     * instances.
     *
     * Example:
     * 
     * # Create the authentication instance
     * #
     * $auth = new CF_Authentication("username", "api_key");
     *
     * # Perform authentication request
     * #
     * $auth->authenticate();
     *
     * # Create a connection to the storage/cdn system(s) and pass in the
     * # validated CF_Authentication instance.
     * #
     * $conn = new CF_Connection($auth);
     *
     * # NOTE: Some versions of cURL include an outdated certificate authority (CA)
     * #       file.  This API ships with a newer version obtained directly from
     * #       cURL's web site (http://curl.haxx.se).  To use the newer CA bundle,
     * #       call the CF_Authentication instance's 'ssl_use_cabundle()' method.
     * #
     * # $conn->ssl_use_cabundle(); # bypass cURL's old CA bundle
     * 
     *
     * @package php-cloudfiles
     */
    
        /**
         * Pass in a previously authenticated CF_Authentication instance.
         *
         * Example:
         * 
         * # Create the authentication instance
         * #
         * $auth = new CF_Authentication("username", "api_key");
         *
         * # Perform authentication request
         * #
         * $auth->authenticate();
         *
         * # Create a connection to the storage/cdn system(s) and pass in the
         * # validated CF_Authentication instance.
         * #
         * $conn = new CF_Connection($auth);
         *
         * # If you are connecting via Rackspace servers and have access
         * # to the servicenet network you can set the $servicenet to True
         * # like this.
         *
         * $conn = new CF_Connection($auth, $servicenet=True);
         *
         * 
         *
         * If the environement variable RACKSPACE_SERVICENET is defined it will
         * force to connect via the servicenet.
         *
         * @param obj $cfs_auth previously authenticated CF_Authentication instance
         * @param boolean $servicenet enable/disable access via Rackspace servicenet.
         * @throws AuthenticationException not authenticated
         */
    
        /**
         * Toggle debugging of instance and back-end HTTP module
         *
         * @param boolean $bool enable/disable cURL debugging
         */
    
        /**
         * Close a connection
         *
         * Example:
         * 
         *  
         * $conn->close();
         * 
         * 
         *
         * Will close all current cUrl active connections.
         * 
         */
    
        /**
         * Cloud Files account information
         *
         * Return an array of two floats (since PHP only supports 32-bit integers);
         * number of containers on the account and total bytes used for the account.
         *
         * Example:
         * 
         * # ... authentication code excluded (see previous examples) ...
         * #
         * $conn = new CF_Authentication($auth);
         *
         * list($quantity, $bytes) = $conn->get_info();
         * print "Number of containers: " . $quantity . "\n";
         * print "Bytes stored in container: " . $bytes . "\n";
         * 
         *
         * @return array (number of containers, total bytes stored)
         * @throws InvalidResponseException unexpected response
         */
    
        /**
         * Create a Container
         *
         * Given a Container name, return a Container instance, creating a new
         * remote Container if it does not exit.
         *
         * Example:
         * 
         * # ... authentication code excluded (see previous examples) ...
         * #
         * $conn = new CF_Authentication($auth);
         *
         * $images = $conn->create_container("my photos");
         * 
         *
         * @param string $container_name container name
         * @return CF_Container
         * @throws SyntaxException invalid name
         * @throws InvalidResponseException unexpected response
         */
    
        /**
         * Delete a Container
         *
         * Given either a Container instance or name, remove the remote Container.
         * The Container must be empty prior to removing it.
         *
         * Example:
         * 
         * # ... authentication code excluded (see previous examples) ...
         * #
         * $conn = new CF_Authentication($auth);
         *
         * $conn->delete_container("my photos");
         * 
         *
         * @param string|obj $container container name or instance
         * @return boolean True if successfully deleted
         * @throws SyntaxException missing proper argument
         * @throws InvalidResponseException invalid response
         * @throws NonEmptyContainerException container not empty
         * @throws NoSuchContainerException remote container does not exist
         */
    
        /**
         * Return a Container instance
         *
         * For the given name, return a Container instance if the remote Container
         * exists, otherwise throw a Not Found exception.
         *
         * Example:
         * 
         * # ... authentication code excluded (see previous examples) ...
         * #
         * $conn = new CF_Authentication($auth);
         *
         * $images = $conn->get_container("my photos");
         * print "Number of Objects: " . $images->count . "\n";
         * print "Bytes stored in container: " . $images->bytes . "\n";
         * 
         *
         * @param string $container_name name of the remote Container
         * @return object/string			CF_Container instance object. On error returns a string of the error.
         * @throws NoSuchContainerException thrown if no remote Container
         * @throws InvalidResponseException unexpected response
         */
    
        /**
         * Return array of Container instances
         *
         * Return an array of CF_Container instances on the account.  The instances
         * will be fully populated with Container attributes (bytes stored and
         * Object count)
         *
         * Example:
         * 
         * # ... authentication code excluded (see previous examples) ...
         * #
         * $conn = new CF_Authentication($auth);
         *
         * $clist = $conn->get_containers();
         * foreach ($clist as $cont) {
         *     print "Container name: " . $cont->name . "\n";
         *     print "Number of Objects: " . $cont->count . "\n";
         *     print "Bytes stored in container: " . $cont->bytes . "\n";
         * }
         * 
         *
         * @return array An array of CF_Container instances
         * @throws InvalidResponseException unexpected response
         */
    
        /**
         * Return list of remote Containers
         *
         * Return an array of strings containing the names of all remote Containers.
         *
         * Example:
         * 
         * # ... authentication code excluded (see previous examples) ...
         * #
         * $conn = new CF_Authentication($auth);
         *
         * $container_list = $conn->list_containers();
         * print_r($container_list);
         * Array
         * (
         *     [0] => "my photos",
         *     [1] => "my docs"
         * )
         * 
         *
         * @param integer $limit restrict results to $limit Containers
         * @param string $marker return results greater than $marker
         * @return array list of remote Containers
         * @throws InvalidResponseException unexpected response
         */
    
        /**
         * Return array of information about remote Containers
         *
         * Return a nested array structure of Container info.
         *
         * Example:
         * 
         * # ... authentication code excluded (see previous examples) ...
         * #
         *
         * $container_info = $conn->list_containers_info();
         * print_r($container_info);
         * Array
         * (
         *     ["my photos"] =>
         *         Array
         *         (
         *             ["bytes"] => 78,
         *             ["count"] => 2
         *         )
         *     ["docs"] =>
         *         Array
         *         (
         *             ["bytes"] => 37323,
         *             ["count"] => 12
         *         )
         * )
         * 
         *
         * @param integer $limit restrict results to $limit Containers
         * @param string $marker return results greater than $marker
         * @return array nested array structure of Container info
         * @throws InvalidResponseException unexpected response
         */
    
        /**
         * Return list of Containers that have been published to the CDN.
         *
         * Return an array of strings containing the names of published Containers.
         * Note that this function returns the list of any Container that has
         * ever been CDN-enabled regardless of it's existence in the storage
         * system.
         *
         * Example:
         * 
         * # ... authentication code excluded (see previous examples) ...
         * #
         * $conn = new CF_Authentication($auth);
         *
         * $public_containers = $conn->list_public_containers();
         * print_r($public_containers);
         * Array
         * (
         *     [0] => "images",
         *     [1] => "css",
         *     [2] => "javascript"
         * )
         * 
         *
         * @param bool $enabled_only Will list all containers ever CDN enabled if     * set to false or only currently enabled CDN containers if set to true.      * Defaults to false.
         * @return array list of published Container names
         * @throws InvalidResponseException unexpected response
         */
    
        /**
         * Set a user-supplied callback function to report download progress
         *
         * The callback function is used to report incremental progress of a data
         * download functions (e.g. $container->list_objects(), $obj->read(), etc).
         * The specified function will be periodically called with the number of
         * bytes transferred until the entire download is complete.  This callback
         * function can be useful for implementing "progress bars" for large
         * downloads.
         *
         * The specified callback function should take a single integer parameter.
         *
         * 
         * function read_callback($bytes_transferred) {
         *     print ">> downloaded " . $bytes_transferred . " bytes.\n";
         *     # ... do other things ...
         *     return;
         * }
         *
         * $conn = new CF_Connection($auth_obj);
         * $conn->set_read_progress_function("read_callback");
         * print_r($conn->list_containers());
         *
         * # output would look like this:
         * #
         * >> downloaded 10 bytes.
         * >> downloaded 11 bytes.
         * Array
         * (
         *      [0] => fuzzy.txt
         *      [1] => space name
         * )
         * 
         *
         * @param string $func_name the name of the user callback function
         */
    
        /**
         * Set a user-supplied callback function to report upload progress
         *
         * The callback function is used to report incremental progress of a data
         * upload functions (e.g. $obj->write() call).  The specified function will
         * be periodically called with the number of bytes transferred until the
         * entire upload is complete.  This callback function can be useful
         * for implementing "progress bars" for large uploads/downloads.
         *
         * The specified callback function should take a single integer parameter.
         *
         * 
         * function write_callback($bytes_transferred) {
         *     print ">> uploaded " . $bytes_transferred . " bytes.\n";
         *     # ... do other things ...
         *     return;
         * }
         *
         * $conn = new CF_Connection($auth_obj);
         * $conn->set_write_progress_function("write_callback");
         * $container = $conn->create_container("stuff");
         * $obj = $container->create_object("foo");
         * $obj->write("The callback function will be called during upload.");
         *
         * # output would look like this:
         * # >> uploaded 51 bytes.
         * #
         * 
         *
         * @param string $func_name the name of the user callback function
         */
    
        /**
         * Use the Certificate Authority bundle included with this API
         *
         * Most versions of PHP with cURL support include an outdated Certificate
         * Authority (CA) bundle (the file that lists all valid certificate
         * signing authorities).  The SSL certificates used by the Cloud Files
         * storage system are perfectly valid but have been created/signed by
         * a CA not listed in these outdated cURL distributions.
         *
         * As a work-around, we've included an updated CA bundle obtained
         * directly from cURL's web site (http://curl.haxx.se).  You can direct
         * the API to use this CA bundle by calling this method prior to making
         * any remote calls.  The best place to use this method is right after
         * the CF_Authentication instance has been instantiated.
         *
         * You can specify your own CA bundle by passing in the full pathname
         * to the bundle.  You can use the included CA bundle by leaving the
         * argument blank.
         *
         * @param string $path Specify path to CA bundle (default to included)
         */
    
    /**
     * Container operations
     *
     * Containers are storage compartments where you put your data (objects).
     * A container is similar to a directory or folder on a conventional filesystem
     * with the exception that they exist in a flat namespace, you can not create
     * containers inside of containers.
     *
     * You also have the option of marking a Container as "public" so that the
     * Objects stored in the Container are publicly available via the CDN.
     *
     * @package php-cloudfiles
     */
    
        /**
         * Class constructor
         *
         * Constructor for Container
         *
         * @param obj $cfs_auth CF_Authentication instance
         * @param obj $cfs_http HTTP connection manager
         * @param string $name name of Container
         * @param int $count number of Objects stored in this Container
         * @param int $bytes number of bytes stored in this Container
         * @throws SyntaxException invalid Container name
         */
    
        /**
         * String representation of Container
         *
         * Pretty print the Container instance.
         *
         * @return string Container details
         */
    
        /**
         * Enable Container content to be served via CDN or modify CDN attributes
         *
         * Either enable this Container's content to be served via CDN or
         * adjust its CDN attributes.  This Container will always return the
         * same CDN-enabled URI each time it is toggled public/private/public.
         *
         * Example:
         * 
         * # ... authentication code excluded (see previous examples) ...
         * #
         * $conn = new CF_Authentication($auth);
         *
         * $public_container = $conn->create_container("public");
         *
         * # CDN-enable the container and set it's TTL for a month
         * #
         * $public_container->make_public(86400/2); # 12 hours (86400 seconds/day)
         * 
         *
         * @param int $ttl the time in seconds content will be cached in the CDN
         * @returns string the CDN enabled Container's URI
         * @throws CDNNotEnabledException CDN functionality not returned during auth
         * @throws AuthenticationException if auth token is not valid/expired
         * @throws InvalidResponseException unexpected response
         */
    
        /**
         * Purge Containers objects from CDN Cache.
         * Example:
         * 
         * # ... authentication code excluded (see previous examples) ...
         * #
         * $conn = new CF_Authentication($auth);
         * $container = $conn->get_container("cdn_enabled");
         * $container->purge_from_cdn("user@domain.com");
         * # or
         * $container->purge_from_cdn();
         * # or 
         * $container->purge_from_cdn("user1@domain.com,user2@domain.com");
         * @returns boolean True if successful
         * @throws CDNNotEnabledException if CDN Is not enabled on this connection
         * @throws InvalidResponseException if the response expected is not returned
         */
    
        /**
         * Enable ACL restriction by User Agent for this container.
         *
         * Example:
         * 
         * # ... authentication code excluded (see previous examples) ...
         * #
         * $conn = new CF_Authentication($auth);
         *
         * $public_container = $conn->get_container("public");
         *
         * # Enable ACL by Referrer
         * $public_container->acl_referrer("Mozilla");
         * 
         *
         * @returns boolean True if successful
         * @throws CDNNotEnabledException CDN functionality not returned during auth
         * @throws AuthenticationException if auth token is not valid/expired
         * @throws InvalidResponseException unexpected response
         */
    
        /**
         * Enable ACL restriction by referer for this container.
         *
         * Example:
         * 
         * # ... authentication code excluded (see previous examples) ...
         * #
         * $conn = new CF_Authentication($auth);
         *
         * $public_container = $conn->get_container("public");
         *
         * # Enable Referrer
         * $public_container->acl_referrer("http://www.example.com/gallery.php");
         * 
         *
         * @returns boolean True if successful
         * @throws CDNNotEnabledException CDN functionality not returned during auth
         * @throws AuthenticationException if auth token is not valid/expired
         * @throws InvalidResponseException unexpected response
         */
    
        /**
         * Enable log retention for this CDN container.
         *
         * Enable CDN log retention on the container. If enabled logs will
         * be periodically (at unpredictable intervals) compressed and
         * uploaded to a ".CDN_ACCESS_LOGS" container in the form of
         * "container_name.YYYYMMDDHH-XXXX.gz". Requires CDN be enabled on
         * the account.
         * 
         * Example:
         * 
         * # ... authentication code excluded (see previous examples) ...
         * #
         * $conn = new CF_Authentication($auth);
         *
         * $public_container = $conn->get_container("public");
         *
         * # Enable logs retention.
         * $public_container->log_retention(True);
         * 
         *
         * @returns boolean True if successful
         * @throws CDNNotEnabledException CDN functionality not returned during auth
         * @throws AuthenticationException if auth token is not valid/expired
         * @throws InvalidResponseException unexpected response
         */
    
        /**
         * Disable the CDN sharing for this container
         *
         * Use this method to disallow distribution into the CDN of this Container's
         * content.
         *
         * NOTE: Any content already cached in the CDN will continue to be served
         *       from its cache until the TTL expiration transpires.  The default
         *       TTL is typically one day, so "privatizing" the Container will take
         *       up to 24 hours before the content is purged from the CDN cache.
         *
         * Example:
         * 
         * # ... authentication code excluded (see previous examples) ...
         * #
         * $conn = new CF_Authentication($auth);
         *
         * $public_container = $conn->get_container("public");
         *
         * # Disable CDN accessability
         * # ... still cached up to a month based on previous example
         * #
         * $public_container->make_private();
         * 
         *
         * @returns boolean True if successful
         * @throws CDNNotEnabledException CDN functionality not returned during auth
         * @throws AuthenticationException if auth token is not valid/expired
         * @throws InvalidResponseException unexpected response
         */
    
        /**
         * Check if this Container is being publicly served via CDN
         *
         * Use this method to determine if the Container's content is currently
         * available through the CDN.
         *
         * Example:
         * 
         * # ... authentication code excluded (see previous examples) ...
         * #
         * $conn = new CF_Authentication($auth);
         *
         * $public_container = $conn->get_container("public");
         *
         * # Display CDN accessability
         * #
         * $public_container->is_public() ? print "Yes" : print "No";
         * 
         *
         * @returns boolean True if enabled, False otherwise
         */
    
        /**
         * Create a new remote storage Object
         *
         * Return a new Object instance.  If the remote storage Object exists,
         * the instance's attributes are populated.
         *
         * Example:
         * 
         * # ... authentication code excluded (see previous examples) ...
         * #
         * $conn = new CF_Authentication($auth);
         *
         * $public_container = $conn->get_container("public");
         *
         * # This creates a local instance of a storage object but only creates
         * # it in the storage system when the object's write() method is called.
         * #
         * $pic = $public_container->create_object("baby.jpg");
         * 
         *
         * @param string $obj_name name of storage Object
         * @return obj CF_Object instance
         */
    
        /**
         * Return an Object instance for the remote storage Object
         *
         * Given a name, return a Object instance representing the
         * remote storage object.
         *
         * Example:
         * 
         * # ... authentication code excluded (see previous examples) ...
         * #
         * $conn = new CF_Authentication($auth);
         *
         * $public_container = $conn->get_container("public");
         *
         * # This call only fetches header information and not the content of
         * # the storage object.  Use the Object's read() or stream() methods
         * # to obtain the object's data.
         * #
         * $pic = $public_container->get_object("baby.jpg");
         * 
         *
         * @param string $obj_name name of storage Object
         * @return obj CF_Object instance
         */
    
        /**
         * Return a list of Objects
         *
         * Return an array of strings listing the Object names in this Container.
         *
         * Example:
         * 
         * # ... authentication code excluded (see previous examples) ...
         * #
         * $images = $conn->get_container("my photos");
         *
         * # Grab the list of all storage objects
         * #
         * $all_objects = $images->list_objects();
         *
         * # Grab subsets of all storage objects
         * #
         * $first_ten = $images->list_objects(10);
         * 
         * # Note the use of the previous result's last object name being
         * # used as the 'marker' parameter to fetch the next 10 objects
         * #
         * $next_ten = $images->list_objects(10, $first_ten[count($first_ten)-1]);
         *
         * # Grab images starting with "birthday_party" and default limit/marker
         * # to match all photos with that prefix
         * #
         * $prefixed = $images->list_objects(0, NULL, "birthday");
         *
         * # Assuming you have created the appropriate directory marker Objects,
         * # you can traverse your pseudo-hierarchical containers
         * # with the "path" argument.
         * #
         * $animals = $images->list_objects(0,NULL,NULL,"pictures/animals");
         * $dogs = $images->list_objects(0,NULL,NULL,"pictures/animals/dogs");
         * 
         *
         * @param int $limit optional only return $limit names
         * @param int $marker optional subset of names starting at $marker
         * @param string $prefix optional Objects whose names begin with $prefix
         * @param string $path optional only return results under "pathname"
         * @return array array of strings
         * @throws InvalidResponseException unexpected response
         */
    
        /**
         * Return an array of Objects
         *
         * Return an array of Object instances in this Container.
         *
         * Example:
         * 
         * # ... authentication code excluded (see previous examples) ...
         * #
         * $images = $conn->get_container("my photos");
         *
         * # Grab the list of all storage objects
         * #
         * $all_objects = $images->get_objects();
         *
         * # Grab subsets of all storage objects
         * #
         * $first_ten = $images->get_objects(10);
         *
         * # Note the use of the previous result's last object name being
         * # used as the 'marker' parameter to fetch the next 10 objects
         * #
         * $next_ten = $images->list_objects(10, $first_ten[count($first_ten)-1]);
         *
         * # Grab images starting with "birthday_party" and default limit/marker
         * # to match all photos with that prefix
         * #
         * $prefixed = $images->get_objects(0, NULL, "birthday");
         *
         * # Assuming you have created the appropriate directory marker Objects,
         * # you can traverse your pseudo-hierarchical containers
         * # with the "path" argument.
         * #
         * $animals = $images->get_objects(0,NULL,NULL,"pictures/animals");
         * $dogs = $images->get_objects(0,NULL,NULL,"pictures/animals/dogs");
         * 
         *
         * @param int $limit optional only return $limit names
         * @param int $marker optional subset of names starting at $marker
         * @param string $prefix optional Objects whose names begin with $prefix
         * @param string $path optional only return results under "pathname"
         * @return array array of strings
         * @throws InvalidResponseException unexpected response
         */
    
        /**
         * Delete a remote storage Object
         *
         * Given an Object instance or name, permanently remove the remote Object
         * and all associated metadata.
         *
         * Example:
         * 
         * # ... authentication code excluded (see previous examples) ...
         * #
         * $conn = new CF_Authentication($auth);
         *
         * $images = $conn->get_container("my photos");
         *
         * # Delete specific object
         * #
         * $images->delete_object("disco_dancing.jpg");
         * 
         *
         * @param obj $obj name or instance of Object to delete
         * @return boolean True if successfully removed
         * @throws SyntaxException invalid Object name
         * @throws NoSuchObjectException remote Object does not exist
         * @throws InvalidResponseException unexpected response
         */
    
        /**
         * Helper function to create "path" elements for a given Object name
         *
         * Given an Object whos name contains '/' path separators, this function
         * will create the "directory marker" Objects of one byte with the
         * Content-Type of "application/folder".
         *
         * It assumes the last element of the full path is the "real" Object
         * and does NOT create a remote storage Object for that last element.
         */
    
        /**
         * Internal method to grab CDN/Container info if appropriate to do so
         *
         * @throws InvalidResponseException unexpected response
         */
    
    /**
     * Object operations
     *
     * An Object is analogous to a file on a conventional filesystem. You can
     * read data from, or write data to your Objects. You can also associate 
     * arbitrary metadata with them.
     *
     * @package php-cloudfiles
     */
    
        /**
         * Class constructor
         *
         * @param obj $container CF_Container instance
         * @param string $name name of Object
         * @param boolean $force_exists if set, throw an error if Object doesn't exist
         */
    
        /**
         * String representation of Object
         *
         * Pretty print the Object's location and name
         *
         * @return string Object information
         */
    
        /**
         * Internal check to get the proper mimetype.
         *
         * This function would go over the available PHP methods to get
         * the MIME type.
         *
         * By default it will try to use the PHP fileinfo library which is
         * available from PHP 5.3 or as an PECL extension
         * (http://pecl.php.net/package/Fileinfo).
         *
         * It will get the magic file by default from the system wide file
         * which is usually available in /usr/share/magic on Unix or try
         * to use the file specified in the source directory of the API
         * (share directory).
         *
         * if fileinfo is not available it will try to use the internal
         * mime_content_type function.
         * 
         * @param string $handle name of file or buffer to guess the type from
         * @return boolean True if successful
         * @throws BadContentTypeException
         */
    
                    /* PHP 5.3 fileinfo display extra information like
                       charset so we remove everything after the ; since
                       we are not into that stuff */
    
        /**
         * String representation of the Object's public URI
         *
         * A string representing the Object's public URI assuming that it's
         * parent Container is CDN-enabled.
         *
         * Example:
         * 
         * # ... authentication/connection/container code excluded
         * # ... see previous examples
         *
         * # Print out the Object's CDN URI (if it has one) in an HTML img-tag
         * #
         * print "\n";
         * 
         *
         * @return string Object's public URI or NULL
         */
    
           /**
         * String representation of the Object's public SSL URI
         *
         * A string representing the Object's public SSL URI assuming that it's
         * parent Container is CDN-enabled.
         *
         * Example:
         * 
         * # ... authentication/connection/container code excluded
         * # ... see previous examples
         *
         * # Print out the Object's CDN SSL URI (if it has one) in an HTML img-tag
         * #
         * print "\n";
         * 
         *
         * @return string Object's public SSL URI or NULL
         */
    
        /**
         * Read the remote Object's data
         *
         * Returns the Object's data.  This is useful for smaller Objects such
         * as images or office documents.  Object's with larger content should use
         * the stream() method below.
         *
         * Pass in $hdrs array to set specific custom HTTP headers such as
         * If-Match, If-None-Match, If-Modified-Since, Range, etc.
         *
         * Example:
         * 
         * # ... authentication/connection/container code excluded
         * # ... see previous examples
         *
         * $my_docs = $conn->get_container("documents");
         * $doc = $my_docs->get_object("README");
         * $data = $doc->read(); # read image content into a string variable
         * print $data;
         *
         * # Or see stream() below for a different example.
         * #
         * 
         *
         * @param array $hdrs user-defined headers (Range, If-Match, etc.)
         * @return string Object's data
         * @throws InvalidResponseException unexpected response
         */
    
        /**
         * Streaming read of Object's data
         *
         * Given an open PHP resource (see PHP's fopen() method), fetch the Object's
         * data and write it to the open resource handle.  This is useful for
         * streaming an Object's content to the browser (videos, images) or for
         * fetching content to a local file.
         *
         * Pass in $hdrs array to set specific custom HTTP headers such as
         * If-Match, If-None-Match, If-Modified-Since, Range, etc.
         *
         * Example:
         * 
         * # ... authentication/connection/container code excluded
         * # ... see previous examples
         *
         * # Assuming this is a web script to display the README to the
         * # user's browser:
         * #
         * get_container("documents");
         * $doc = $my_docs->get_object("README");
         *
         * // Hand it back to user's browser with appropriate content-type
         * //
         * header("Content-Type: " . $doc->content_type);
         * $output = fopen("php://output", "w");
         * $doc->stream($output); # stream object content to PHP's output buffer
         * fclose($output);
         * ?>
         *
         * # See read() above for a more simple example.
         * #
         * 
         *
         * @param resource $fp open resource for writing data to
         * @param array $hdrs user-defined headers (Range, If-Match, etc.)
         * @return string Object's data
         * @throws InvalidResponseException unexpected response
         */
    
        /**
         * Store new Object metadata
         *
         * Write's an Object's metadata to the remote Object.  This will overwrite
         * an prior Object metadata.
         *
         * Example:
         * 
         * # ... authentication/connection/container code excluded
         * # ... see previous examples
         *
         * $my_docs = $conn->get_container("documents");
         * $doc = $my_docs->get_object("README");
         *
         * # Define new metadata for the object
         * #
         * $doc->metadata = array(
         *     "Author" => "EJ",
         *     "Subject" => "How to use the PHP tests",
         *     "Version" => "1.2.2"
         * );
         *
         * # Push the new metadata up to the storage system
         * #
         * $doc->sync_metadata();
         * 
         *
         * @return boolean True if successful, False otherwise
         * @throws InvalidResponseException unexpected response
         */
    
        /**
         * Store new Object manifest
         *
         * Write's an Object's manifest to the remote Object.  This will overwrite
         * an prior Object manifest.
         *
         * Example:
         * 
         * # ... authentication/connection/container code excluded
         * # ... see previous examples
         *
         * $my_docs = $conn->get_container("documents");
         * $doc = $my_docs->get_object("README");
         *
         * # Define new manifest for the object
         * #
         * $doc->manifest = "container/prefix";
         *
         * # Push the new manifest up to the storage system
         * #
         * $doc->sync_manifest();
         * 
         *
         * @return boolean True if successful, False otherwise
         * @throws InvalidResponseException unexpected response
         */
    
        /**
         * Upload Object's data to Cloud Files
         *
         * Write data to the remote Object.  The $data argument can either be a
         * PHP resource open for reading (see PHP's fopen() method) or an in-memory
         * variable.  If passing in a PHP resource, you must also include the $bytes
         * parameter.
         *
         * Example:
         * 
         * # ... authentication/connection/container code excluded
         * # ... see previous examples
         *
         * $my_docs = $conn->get_container("documents");
         * $doc = $my_docs->get_object("README");
         *
         * # Upload placeholder text in my README
         * #
         * $doc->write("This is just placeholder text for now...");
         * 
         *
         * @param string|resource $data string or open resource
         * @param float $bytes amount of data to upload (required for resources)
         * @param boolean $verify generate, send, and compare MD5 checksums
         * @return boolean True when data uploaded successfully
         * @throws SyntaxException missing required parameters
         * @throws BadContentTypeException if no Content-Type was/could be set
         * @throws MisMatchedChecksumException $verify is set and checksums unequal
         * @throws InvalidResponseException unexpected response
         */
    
        /**
         * Upload Object data from local filename
         *
         * This is a convenience function to upload the data from a local file.  A
         * True value for $verify will cause the method to compute the Object's MD5
         * checksum prior to uploading.
         *
         * Example:
         * 
         * # ... authentication/connection/container code excluded
         * # ... see previous examples
         *
         * $my_docs = $conn->get_container("documents");
         * $doc = $my_docs->get_object("README");
         *
         * # Upload my local README's content
         * #
         * $doc->load_from_filename("/home/ej/cloudfiles/readme");
         * 
         *
         * @param string $filename full path to local file
         * @param boolean $verify enable local/remote MD5 checksum validation
         * @return boolean True if data uploaded successfully
         * @throws SyntaxException missing required parameters
         * @throws BadContentTypeException if no Content-Type was/could be set
         * @throws MisMatchedChecksumException $verify is set and checksums unequal
         * @throws InvalidResponseException unexpected response
         * @throws IOException error opening file
         */
    
        /**
         * Save Object's data to local filename
         *
         * Given a local filename, the Object's data will be written to the newly
         * created file.
         *
         * Example:
         * 
         * # ... authentication/connection/container code excluded
         * # ... see previous examples
         *
         * # Whoops!  I deleted my local README, let me download/save it
         * #
         * $my_docs = $conn->get_container("documents");
         * $doc = $my_docs->get_object("README");
         *
         * $doc->save_to_filename("/home/ej/cloudfiles/readme.restored");
         * 
         *
         * @param string $filename name of local file to write data to
         * @return boolean True if successful
         * @throws IOException error opening file
         * @throws InvalidResponseException unexpected response
         */
    
           /**
         * Purge this Object from CDN Cache.
         * Example:
         * 
         * # ... authentication code excluded (see previous examples) ...
         * #
         * $conn = new CF_Authentication($auth);
         * $container = $conn->get_container("cdn_enabled");
         * $obj = $container->get_object("object");
         * $obj->purge_from_cdn("user@domain.com");
         * # or
         * $obj->purge_from_cdn();
         * # or 
         * $obj->purge_from_cdn("user1@domain.com,user2@domain.com");
         * @returns boolean True if successful
         * @throws CDNNotEnabledException if CDN Is not enabled on this connection
         * @throws InvalidResponseException if the response expected is not returned
         */
    
        /**
         * Set Object's MD5 checksum
         *
         * Manually set the Object's ETag.  Including the ETag is mandatory for
         * Cloud Files to perform end-to-end verification.  Omitting the ETag forces
         * the user to handle any data integrity checks.
         *
         * @param string $etag MD5 checksum hexidecimal string
         */
    
        /**
         * Object's MD5 checksum
         *
         * Accessor method for reading Object's private ETag attribute.
         *
         * @return string MD5 checksum hexidecimal string
         */
    
        /**
         * Compute the MD5 checksum
         *
         * Calculate the MD5 checksum on either a PHP resource or data.  The argument
         * may either be a local filename, open resource for reading, or a string.
         *
         * WARNING: if you are uploading a big file over a stream
         * it could get very slow to compute the md5 you probably want to
         * set the $verify parameter to False in the write() method and
         * compute yourself the md5 before if you have it.
         *
         * @param filename|obj|string $data filename, open resource, or string
         * @return string MD5 checksum hexidecimal string
         */
    
        /**
         * PRIVATE: fetch information about the remote Object if it exists
         */
    
    /* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
    
    /*
     * Local variables:
     * tab-width: 4
     * c-basic-offset: 4
     * c-hanging-comment-ender-p: nil
     * End:
     */
    

    File: /destinations/rackspace/lib/rackspace/cloudfiles_exceptions.php

    /**
     * Custom Exceptions for the CloudFiles API
     *
     * Requres PHP 5.x (for Exceptions and OO syntax)
     *
     * See COPYING for license information.
     *
     * @author Eric "EJ" Johnson 
     * @copyright Copyright (c) 2008, Rackspace US, Inc.
     * @package php-cloudfiles-exceptions
     */
    
    /**
     * Custom Exceptions for the CloudFiles API
     * @package php-cloudfiles-exceptions
     */
    

    Class: SyntaxException extends Exception {

    Class: AuthenticationException extends Exception {

    Class: InvalidResponseException extends Exception {

    Class: NonEmptyContainerException extends Exception {

    Class: NoSuchObjectException extends Exception {

    Class: NoSuchContainerException extends Exception {

    Class: NoSuchAccountException extends Exception {

    Class: MisMatchedChecksumException extends Exception {

    Class: IOException extends Exception {

    Class: CDNNotEnabledException extends Exception {

    Class: BadContentTypeException extends Exception {

    Class: InvalidUTF8Exception extends Exception {

    Class: ConnectionNotOpenException extends Exception {

    /* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
    
    /*
     * Local variables:
     * tab-width: 4
     * c-basic-offset: 4
     * c-hanging-comment-ender-p: nil
     * End:
     */
    

    File: /destinations/rackspace/lib/rackspace/cloudfiles_http.php

    /**
     * This is an HTTP client class for Cloud Files.  It uses PHP's cURL module
     * to handle the actual HTTP request/response.  This is NOT a generic HTTP
     * client class and is only used to abstract out the HTTP communication for
     * the PHP Cloud Files API.
     *
     * This module was designed to re-use existing HTTP(S) connections between
     * subsequent operations.  For example, performing multiple PUT operations
     * will re-use the same connection.
     *
     * This modules also provides support for streaming content into and out
     * of Cloud Files.  The majority (all?) of the PHP HTTP client modules expect
     * to read the server's response into a string variable.  This will not work
     * with large files without killing your server.  Methods like,
     * get_object_to_stream() and put_object() take an open filehandle
     * argument for streaming data out of or into Cloud Files.
     *
     * Requres PHP 5.x (for Exceptions and OO syntax)
     *
     * See COPYING for license information.
     *
     * @author Eric "EJ" Johnson 
     * @copyright Copyright (c) 2008, Rackspace US, Inc.
     * @package php-cloudfiles-http
     */
    
    /**
     */
    
    /**
     * HTTP/cURL wrapper for Cloud Files
     *
     * This class should not be used directly.  It's only purpose is to abstract
     * out the HTTP communication from the main API.
     *
     * @package php-cloudfiles-http
     */
    
    /* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
    
    /*
     * Local variables:
     * tab-width: 4
     * c-basic-offset: 4
     * c-hanging-comment-ender-p: nil
     * End:
     */
    

    File: /destinations/ftp/_configure.php

    			/*
    			jQuery.post( '', thisPickObj.parent( 'form' ).serialize(), 
    				function(data) {
    					//jQuery( '.pb_backupbuddy_destpicker_testload' ).hide();
    					data = jQuery.trim( data );
    					alert( data );
    					thisPickObj.find( '.pb_backupbuddy_ftpdestination_pathpickerbox' ).html( data );
    				}
    			);
    */
    

    File: /destinations/ftp/_manage.php


    File: /destinations/ftp/init.php

    Class: pb_backupbuddy_destination_ftp

    	/*	send()
    	 *	
    	 *	Send one or more files.
    	 *	
    	 *	@param		array			$files		Array of one or more files to send.
    	 *	@return		boolean						True on success, else false.
    	 */
    
    	/*	test()
    	 *	
    	 *	function description
    	 *	
    	 *	@param		array			$settings	Destination settings.
    	 *	@return		bool|string					True on success, string error message on failure.
    	 */
    

    File: /destinations/local/_configure.php


    File: /destinations/local/_manage.php


    File: /destinations/local/init.php

    Class: pb_backupbuddy_destination_local { // Change class name end to match destination name

    	/*	send()
    	 *	
    	 *	Send one or more files.
    	 *	
    	 *	@param		array			$files		Array of one or more files to send.
    	 *	@return		boolean						True on success, else false.
    	 */
    
    	/*	test()
    	 *	
    	 *	Tests ability to write to this remote destination.
    	 *	TODO: Should this delete the temporary test directory to clean up after itself?
    	 *	
    	 *	@param		array			$settings	Destination settings.
    	 *	@return		bool|string					True on success, string error message on failure.
    	 */
    

    File: /destinations/dropbox/_configure.php

    		/*
    		echo '
    '; echo '', __('Re-authenticate Dropbox', 'it-l10n-backupbuddy' ), ''; */

    File: /destinations/dropbox/_manage.php

    /*
    echo '
    ';
    print_r( $meta_data ) );
    echo '
    '; */

    File: /destinations/dropbox/init.php

    Class: pb_backupbuddy_destination_dropbox { // Change class name end to match destination name

    	/*	send()
    	 *	
    	 *	Send one or more files.
    	 *	
    	 *	@param		array			$files		Array of one or more files to send.
    	 *	@return		boolean						True on success, else false.
    	 */
    
    	/*	test()
    	 *	
    	 *	Tests ability to write to this remote destination.
    	 *	TODO: Should this delete the temporary test directory to clean up after itself?
    	 *	
    	 *	@param		array			$settings	Destination settings.
    	 *	@return		bool|string					True on success, string error message on failure.
    	 */
    
    	/*	memory_guesstimate()
    	 *	
    	 *	Estimates the amount of available memory for loading a ZIP file. This guesses
    	 *	the max file size that could be sent due to memory constraints.
    	 *	
    	 *	@param		
    	 *	@return				Associate array with multiple items.
    	 */
    

    File: /destinations/dropbox/lib/dropbuddy/dropbuddy.php

    	/*
    	$include_path = get_include_path(); // Get current include path.
    	if ( $include_path == '' ) { // If no current include path then load the default.
    		$include_path = DEFAULT_INCLUDE_PATH; // Default include path.
    	}
    	
    	if ( pb_backupbuddy::$options['include_dropbox_pear'] == '1' ) {
    		$include_path = DEFAULT_INCLUDE_PATH; // Default include path.
    		ini_set( 'include_path', $include_path . PATH_SEPARATOR  . dirname( __FILE__ ) . '/pear_includes' );
    	}
    	*/
    

    Class: pb_backupbuddy_dropbuddy


    File: /destinations/dropbox/lib/dropbuddy/pear_includes/PEAR/Exception.php

    /* vim: set expandtab tabstop=4 shiftwidth=4 foldmethod=marker: */
    
    /**
     * PEAR_Exception
     *
     * PHP versions 4 and 5
     *
     * @category   pear
     * @package    PEAR
     * @author     Tomas V. V. Cox 
     * @author     Hans Lellelid 
     * @author     Bertrand Mansion 
     * @author     Greg Beaver 
     * @copyright  1997-2009 The Authors
     * @license    http://opensource.org/licenses/bsd-license.php New BSD License
     * @version    CVS: $Id: Exception.php 307683 2011-01-23 21:56:12Z dufuz $
     * @link       http://pear.php.net/package/PEAR
     * @since      File available since Release 1.3.3
     */
    
    /**
     * Base PEAR_Exception Class
     *
     * 1) Features:
     *
     * - Nestable exceptions (throw new PEAR_Exception($msg, $prev_exception))
     * - Definable triggers, shot when exceptions occur
     * - Pretty and informative error messages
     * - Added more context info available (like class, method or cause)
     * - cause can be a PEAR_Exception or an array of mixed
     *   PEAR_Exceptions/PEAR_ErrorStack warnings
     * - callbacks for specific exception classes and their children
     *
     * 2) Ideas:
     *
     * - Maybe a way to define a 'template' for the output
     *
     * 3) Inherited properties from PHP Exception Class:
     *
     * protected $message
     * protected $code
     * protected $line
     * protected $file
     * private   $trace
     *
     * 4) Inherited methods from PHP Exception Class:
     *
     * __clone
     * __construct
     * getMessage
     * getCode
     * getFile
     * getLine
     * getTraceSafe
     * getTraceSafeAsString
     * __toString
     *
     * 5) Usage example
     *
     * 
     *  require_once 'PEAR/Exception.php';
     *
     *  class Test {
     *     function foo() {
     *         throw new PEAR_Exception('Error Message', ERROR_CODE);
     *     }
     *  }
     *
     *  function myLogger($pear_exception) {
     *     echo $pear_exception->getMessage();
     *  }
     *  // each time a exception is thrown the 'myLogger' will be called
     *  // (its use is completely optional)
     *  PEAR_Exception::addObserver('myLogger');
     *  $test = new Test;
     *  try {
     *     $test->foo();
     *  } catch (PEAR_Exception $e) {
     *     print $e;
     *  }
     * 
     *
     * @category   pear
     * @package    PEAR
     * @author     Tomas V.V.Cox 
     * @author     Hans Lellelid 
     * @author     Bertrand Mansion 
     * @author     Greg Beaver 
     * @copyright  1997-2009 The Authors
     * @license    http://opensource.org/licenses/bsd-license.php New BSD License
     * @version    Release: 1.9.2
     * @link       http://pear.php.net/package/PEAR
     * @since      Class available since Release 1.3.3
     *
     */
    
        /**
         * Supported signatures:
         *  - PEAR_Exception(string $message);
         *  - PEAR_Exception(string $message, int $code);
         *  - PEAR_Exception(string $message, Exception $cause);
         *  - PEAR_Exception(string $message, Exception $cause, int $code);
         *  - PEAR_Exception(string $message, PEAR_Error $cause);
         *  - PEAR_Exception(string $message, PEAR_Error $cause, int $code);
         *  - PEAR_Exception(string $message, array $causes);
         *  - PEAR_Exception(string $message, array $causes, int $code);
         * @param string exception message
         * @param int|Exception|PEAR_Error|array|null exception cause
         * @param int|null exception code or null
         */
    
        /**
         * @param mixed $callback  - A valid php callback, see php func is_callable()
         *                         - A PEAR_Exception::OBSERVER_* constant
         *                         - An array(const PEAR_Exception::OBSERVER_*,
         *                           mixed $options)
         * @param string $label    The name of the observer. Use this if you want
         *                         to remove it later with removeObserver()
         */
    
        /**
         * @return int unique identifier for an observer
         */
    
        /**
         * Return specific error information that can be used for more detailed
         * error messages or translation.
         *
         * This method may be overridden in child exception classes in order
         * to add functionality not present in PEAR_Exception and is a placeholder
         * to define API
         *
         * The returned array must be an associative array of parameter => value like so:
         * 
         * array('name' => $name, 'context' => array(...))
         * 
    * @return array */
        /**
         * Returns the exception that caused this exception to be thrown
         * @access public
         * @return Exception|array The context of the exception
         */
    
        /**
         * Function must be public to call on caused exceptions
         * @param array
         */
    

    File: /destinations/dropbox/lib/dropbuddy/pear_includes/Net/URL2.php

    /**
     * Net_URL2, a class representing a URL as per RFC 3986.
     *
     * PHP version 5
     *
     * LICENSE:
     *
     * Copyright (c) 2007-2009, Peytz & Co. A/S
     * All rights reserved.
     *
     * Redistribution and use in source and binary forms, with or without
     * modification, are permitted provided that the following conditions
     * are met:
     *
     *   * Redistributions of source code must retain the above copyright
     *     notice, this list of conditions and the following disclaimer.
     *   * Redistributions in binary form must reproduce the above copyright
     *     notice, this list of conditions and the following disclaimer in
     *     the documentation and/or other materials provided with the distribution.
     *   * Neither the name of the Net_URL2 nor the names of its contributors may
     *     be used to endorse or promote products derived from this software
     *     without specific prior written permission.
     *
     * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
     * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
     * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
     * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
     * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
     * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
     * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
     * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
     * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
     * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
     * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
     *
     * @category  Networking
     * @package   Net_URL2
     * @author    Christian Schmidt 
     * @copyright 2007-2009 Peytz & Co. A/S
     * @license   http://www.opensource.org/licenses/bsd-license.php New BSD License
     * @version   CVS: $Id: URL2.php 290036 2009-10-28 19:52:49Z schmidt $
     * @link      http://www.rfc-editor.org/rfc/rfc3986.txt
     */
    
    /**
     * Represents a URL as per RFC 3986.
     *
     * @category  Networking
     * @package   Net_URL2
     * @author    Christian Schmidt 
     * @copyright 2007-2009 Peytz & Co. A/S
     * @license   http://www.opensource.org/licenses/bsd-license.php New BSD License
     * @version   Release: @package_version@
     * @link      http://pear.php.net/package/Net_URL2
     */
    
        /**
         * Do strict parsing in resolve() (see RFC 3986, section 5.2.2). Default
         * is true.
         */
    
        /**
         * Represent arrays in query using PHP's [] notation. Default is true.
         */
    
        /**
         * URL-encode query variable keys. Default is true.
         */
    
        /**
         * Query variable separators when parsing the query string. Every character
         * is considered a separator. Default is "&".
         */
    
        /**
         * Query variable separator used when generating the query string. Default
         * is "&".
         */
    
        /**
         * Default options corresponds to how PHP handles $_GET.
         */
    
        /**
         * @var  string|bool
         */
    
        /**
         * @var  string|bool
         */
    
        /**
         * @var  string|bool
         */
    
        /**
         * @var  string|bool
         */
    
        /**
         * @var  string
         */
    
        /**
         * @var  string|bool
         */
    
        /**
         * @var  string|bool
         */
    
        /**
         * Constructor.
         *
         * @param string $url     an absolute or relative URL
         * @param array  $options an array of OPTION_xxx constants
         */
    
        /**
         * Magic Setter.
         *
         * This method will magically set the value of a private variable ($var)
         * with the value passed as the args
         *
         * @param  string $var      The private variable to set.
         * @param  mixed  $arg      An argument of any type.
         * @return void
         */
    
        /**
         * Magic Getter.
         *
         * This is the magic get method to retrieve the private variable 
         * that was set by either __set() or it's setter...
         * 
         * @param  string $var         The property name to retrieve.
         * @return mixed  $this->$var  Either a boolean false if the
         *                             property is not set or the value
         *                             of the private property.
         */
    
        /**
         * Returns the scheme, e.g. "http" or "urn", or false if there is no
         * scheme specified, i.e. if this is a relative URL.
         *
         * @return  string|bool
         */
    
        /**
         * Sets the scheme, e.g. "http" or "urn". Specify false if there is no
         * scheme specified, i.e. if this is a relative URL.
         *
         * @param string|bool $scheme e.g. "http" or "urn", or false if there is no
         *                            scheme specified, i.e. if this is a relative
         *                            URL
         *
         * @return void
         * @see    getScheme()
         */
    
        /**
         * Returns the user part of the userinfo part (the part preceding the first
         *  ":"), or false if there is no userinfo part.
         *
         * @return  string|bool
         */
    
        /**
         * Returns the password part of the userinfo part (the part after the first
         *  ":"), or false if there is no userinfo part (i.e. the URL does not
         * contain "@" in front of the hostname) or the userinfo part does not
         * contain ":".
         *
         * @return  string|bool
         */
    
        /**
         * Returns the userinfo part, or false if there is none, i.e. if the
         * authority part does not contain "@".
         *
         * @return  string|bool
         */
    
        /**
         * Sets the userinfo part. If two arguments are passed, they are combined
         * in the userinfo part as username ":" password.
         *
         * @param string|bool $userinfo userinfo or username
         * @param string|bool $password optional password, or false
         *
         * @return void
         */
    
        /**
         * Returns the host part, or false if there is no authority part, e.g.
         * relative URLs.
         *
         * @return  string|bool a hostname, an IP address, or false
         */
    
        /**
         * Sets the host part. Specify false if there is no authority part, e.g.
         * relative URLs.
         *
         * @param string|bool $host a hostname, an IP address, or false
         *
         * @return void
         */
    
        /**
         * Returns the port number, or false if there is no port number specified,
         * i.e. if the default port is to be used.
         *
         * @return  string|bool
         */
    
        /**
         * Sets the port number. Specify false if there is no port number specified,
         * i.e. if the default port is to be used.
         *
         * @param string|bool $port a port number, or false
         *
         * @return void
         */
    
        /**
         * Returns the authority part, i.e. [ userinfo "@" ] host [ ":" port ], or
         * false if there is no authority.
         *
         * @return string|bool
         */
    
        /**
         * Sets the authority part, i.e. [ userinfo "@" ] host [ ":" port ]. Specify
         * false if there is no authority.
         *
         * @param string|false $authority a hostname or an IP addresse, possibly
         *                                with userinfo prefixed and port number
         *                                appended, e.g. "foo:bar@example.org:81".
         *
         * @return void
         */
    
        /**
         * Returns the path part (possibly an empty string).
         *
         * @return string
         */
    
        /**
         * Sets the path part (possibly an empty string).
         *
         * @param string $path a path
         *
         * @return void
         */
    
        /**
         * Returns the query string (excluding the leading "?"), or false if "?"
         * is not present in the URL.
         *
         * @return  string|bool
         * @see     self::getQueryVariables()
         */
    
        /**
         * Sets the query string (excluding the leading "?"). Specify false if "?"
         * is not present in the URL.
         *
         * @param string|bool $query a query string, e.g. "foo=1&bar=2"
         *
         * @return void
         * @see   self::setQueryVariables()
         */
    
        /**
         * Returns the fragment name, or false if "#" is not present in the URL.
         *
         * @return  string|bool
         */
    
        /**
         * Sets the fragment name. Specify false if "#" is not present in the URL.
         *
         * @param string|bool $fragment a fragment excluding the leading "#", or
         *                              false
         *
         * @return void
         */
    
        /**
         * Returns the query string like an array as the variables would appear in
         * $_GET in a PHP script. If the URL does not contain a "?", an empty array
         * is returned.
         *
         * @return  array
         */
    
        /**
         * Sets the query string to the specified variable in the query string.
         *
         * @param array $array (name => value) array
         *
         * @return void
         */
    
        /**
         * Sets the specified variable in the query string.
         *
         * @param string $name  variable name
         * @param mixed  $value variable value
         *
         * @return  array
         */
    
        /**
         * Removes the specifed variable from the query string.
         *
         * @param string $name a query string variable, e.g. "foo" in "?foo=1"
         *
         * @return void
         */
    
        /**
         * Returns a string representation of this URL.
         *
         * @return  string
         */
    
        /**
         * Returns a string representation of this URL.
         *
         * @return  string
         * @see toString()
         */
    
        /** 
         * Returns a normalized string representation of this URL. This is useful
         * for comparison of URLs.
         *
         * @return  string
         */
    
        /** 
         * Returns a normalized Net_URL2 instance.
         *
         * @return  Net_URL2
         */
    
        /**
         * Returns whether this instance represents an absolute URL.
         *
         * @return  bool
         */
    
        /**
         * Returns an Net_URL2 instance representing an absolute URL relative to
         * this URL.
         *
         * @param Net_URL2|string $reference relative URL
         *
         * @return Net_URL2
         */
    
        /**
         * Removes dots as described in RFC 3986, section 5.2.4, e.g.
         * "/foo/../bar/baz" => "/bar/baz"
         *
         * @param string $path a path
         *
         * @return string a path
         */
    
        /**
         * Percent-encodes all non-alphanumeric characters except these: _ . - ~
         * Similar to PHP's rawurlencode(), except that it also encodes ~ in PHP
         * 5.2.x and earlier.
         *
         * @param  $raw the string to encode
         * @return string
         */
    
        /**
         * Returns a Net_URL2 instance representing the canonical URL of the
         * currently executing PHP script.
         * 
         * @return  string
         */
    
        /**
         * Returns the URL used to retrieve the current request.
         *
         * @return  string
         */
    
        /**
         * Returns a Net_URL2 instance representing the URL used to retrieve the
         * current request.
         *
         * @return  Net_URL2
         */
    
        /**
         * Returns the value of the specified option.
         *
         * @param string $optionName The name of the option to retrieve
         *
         * @return  mixed
         */
    

    File: /destinations/dropbox/lib/dropbuddy/pear_includes/HTTP/OAuth.php

    /**
     * HTTP_OAuth
     *
     * Implementation of the OAuth specification
     *
     * PHP version 5.2.0+
     *
     * LICENSE: This source file is subject to the New BSD license that is
     * available through the world-wide-web at the following URI:
     * http://www.opensource.org/licenses/bsd-license.php. If you did not receive
     * a copy of the New BSD License and are unable to obtain it through the web,
     * please send a note to license@php.net so we can mail you a copy immediately.
     *
     * @category  HTTP
     * @package   HTTP_OAuth
     * @author    Jeff Hodsdon 
     * @copyright 2009 Jeff Hodsdon 
     * @license   http://www.opensource.org/licenses/bsd-license.php New BSD License
     * @link      http://pear.php.net/package/HTTP_OAuth
     * @link      http://github.com/jeffhodsdon/HTTP_OAuth
     */
    
    /**
     * HTTP_OAuth
     *
     * Main HTTP_OAuth class. Contains helper encoding methods.
     *
     * @category  HTTP
     * @package   HTTP_OAuth
     * @author    Jeff Hodsdon 
     * @copyright 2009 Jeff Hodsdon 
     * @license   http://www.opensource.org/licenses/bsd-license.php New BSD License
     * @link      http://pear.php.net/package/HTTP_OAuth
     * @link      http://github.com/jeffhodsdon/HTTP_OAuth
     */
    
        /**
         * Log instances
         *
         * @var array $logs Instances of PEAR Log handlers
         */
    
        /**
         * Attaches an instance of PEAR Log
         *
         * Attached instances of PEAR Log handlers will be logged to
         * through out the use of HTTP_OAuth
         *
         * @param Log $log Instance of a Log
         *
         * @return void
         */
    
        /**
         * Detaches an instance of PEAR Log
         *
         * @param Log $detach Instance of PEAR Log to detach
         *
         * @return void
         */
    
        /**
         * Log a message
         *
         * Announces a message to log to all the attached instances of
         * PEAR Log handlers.  Second argument is the method on Log to call.
         *
         * @param string $message Message to announce to Logs
         * @param string $method  Method to log with on Log instances
         *
         * @return void
         */
    
        /**
         * Log debug message
         *
         * @param string $message Debug message
         *
         * @return void
         */
    
        /**
         * Log info message
         *
         * @param string $message Info message
         *
         * @return void
         */
    
        /**
         * Log error message
         *
         * @param string $message Error message
         *
         * @return void
         */
    
        /**
         * Build HTTP Query
         *
         * @param array $params Name => value array of parameters
         *
         * @return string HTTP query
         */
    
        /**
         * URL Encode
         *
         * @param mixed $item string or array of items to url encode
         *
         * @return mixed url encoded string or array of strings
         */
    
        /**
         * URL Decode
         *
         * @param mixed $item Item to url decode
         *
         * @return string URL decoded string
         */
    

    File: /destinations/dropbox/lib/dropbuddy/pear_includes/HTTP/Request2.php

    /**
     * Class representing a HTTP request message
     *
     * PHP version 5
     *
     * LICENSE:
     *
     * Copyright (c) 2008-2011, Alexey Borzov 
     * All rights reserved.
     *
     * Redistribution and use in source and binary forms, with or without
     * modification, are permitted provided that the following conditions
     * are met:
     *
     *    * Redistributions of source code must retain the above copyright
     *      notice, this list of conditions and the following disclaimer.
     *    * Redistributions in binary form must reproduce the above copyright
     *      notice, this list of conditions and the following disclaimer in the
     *      documentation and/or other materials provided with the distribution.
     *    * The names of the authors may not be used to endorse or promote products
     *      derived from this software without specific prior written permission.
     *
     * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
     * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
     * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
     * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
     * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
     * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
     * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
     * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
     * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
     * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
     * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
     *
     * @category   HTTP
     * @package    HTTP_Request2
     * @author     Alexey Borzov 
     * @license    http://opensource.org/licenses/bsd-license.php New BSD License
     * @version    SVN: $Id: Request2.php 308735 2011-02-27 20:31:28Z avb $
     * @link       http://pear.php.net/package/HTTP_Request2
     */
    
    /**
     * A class representing an URL as per RFC 3986.
     */
    
    /**
     * Exception class for HTTP_Request2 package
     */
    
    /**
     * Class representing a HTTP request message
     *
     * @category   HTTP
     * @package    HTTP_Request2
     * @author     Alexey Borzov 
     * @version    Release: 2.0.0beta1
     * @link       http://tools.ietf.org/html/rfc2616#section-5
     */
    
       /**#@+
        * Constants for HTTP request methods
        *
        * @link http://tools.ietf.org/html/rfc2616#section-5.1.1
        */
    
       /**#@-*/
    
       /**#@+
        * Constants for HTTP authentication schemes
        *
        * @link http://tools.ietf.org/html/rfc2617
        */
    
       /**#@-*/
    
       /**
        * Regular expression used to check for invalid symbols in RFC 2616 tokens
        * @link http://pear.php.net/bugs/bug.php?id=15630
        */
    
       /**
        * Regular expression used to check for invalid symbols in cookie strings
        * @link http://pear.php.net/bugs/bug.php?id=15630
        * @link http://web.archive.org/web/20080331104521/http://cgi.netscape.com/newsref/std/cookie_spec.html
        */
    
       /**
        * Fileinfo magic database resource
        * @var  resource
        * @see  detectMimeType()
        */
    
       /**
        * Observers attached to the request (instances of SplObserver)
        * @var  array
        */
    
       /**
        * Request URL
        * @var  Net_URL2
        */
    
       /**
        * Request method
        * @var  string
        */
    
       /**
        * Authentication data
        * @var  array
        * @see  getAuth()
        */
    
       /**
        * Request headers
        * @var  array
        */
    
       /**
        * Configuration parameters
        * @var  array
        * @see  setConfig()
        */
    
       /**
        * Last event in request / response handling, intended for observers
        * @var  array
        * @see  getLastEvent()
        */
    
       /**
        * Request body
        * @var  string|resource
        * @see  setBody()
        */
    
       /**
        * Array of POST parameters
        * @var  array
        */
    
       /**
        * Array of file uploads (for multipart/form-data POST requests)
        * @var  array
        */
    
       /**
        * Adapter used to perform actual HTTP request
        * @var  HTTP_Request2_Adapter
        */
    
       /**
        * Cookie jar to persist cookies between requests
        * @var HTTP_Request2_CookieJar
        */
    
       /**
        * Constructor. Can set request URL, method and configuration array.
        *
        * Also sets a default value for User-Agent header.
        *
        * @param    string|Net_Url2     Request URL
        * @param    string              Request method
        * @param    array               Configuration for this Request instance
        */
    
       /**
        * Sets the URL for this request
        *
        * If the URL has userinfo part (username & password) these will be removed
        * and converted to auth data. If the URL does not have a path component,
        * that will be set to '/'.
        *
        * @param    string|Net_URL2 Request URL
        * @return   HTTP_Request2
        * @throws   HTTP_Request2_LogicException
        */
    
       /**
        * Returns the request URL
        *
        * @return   Net_URL2
        */
    
       /**
        * Sets the request method
        *
        * @param    string
        * @return   HTTP_Request2
        * @throws   HTTP_Request2_LogicException if the method name is invalid
        */
    
       /**
        * Returns the request method
        *
        * @return   string
        */
    
       /**
        * Sets the configuration parameter(s)
        *
        * The following parameters are available:
        * 
      *
    • 'adapter' - adapter to use (string)
    • *
    • 'connect_timeout' - Connection timeout in seconds (integer)
    • *
    • 'timeout' - Total number of seconds a request can take. * Use 0 for no limit, should be greater than * 'connect_timeout' if set (integer)
    • *
    • 'use_brackets' - Whether to append [] to array variable names (bool)
    • *
    • 'protocol_version' - HTTP Version to use, '1.0' or '1.1' (string)
    • *
    • 'buffer_size' - Buffer size to use for reading and writing (int)
    • *
    • 'store_body' - Whether to store response body in response object. * Set to false if receiving a huge response and * using an Observer to save it (boolean)
    • *
    • 'proxy_host' - Proxy server host (string)
    • *
    • 'proxy_port' - Proxy server port (integer)
    • *
    • 'proxy_user' - Proxy auth username (string)
    • *
    • 'proxy_password' - Proxy auth password (string)
    • *
    • 'proxy_auth_scheme' - Proxy auth scheme, one of HTTP_Request2::AUTH_* constants (string)
    • *
    • 'ssl_verify_peer' - Whether to verify peer's SSL certificate (bool)
    • *
    • 'ssl_verify_host' - Whether to check that Common Name in SSL * certificate matches host name (bool)
    • *
    • 'ssl_cafile' - Cerificate Authority file to verify the peer * with (use with 'ssl_verify_peer') (string)
    • *
    • 'ssl_capath' - Directory holding multiple Certificate * Authority files (string)
    • *
    • 'ssl_local_cert' - Name of a file containing local cerificate (string)
    • *
    • 'ssl_passphrase' - Passphrase with which local certificate * was encoded (string)
    • *
    • 'digest_compat_ie' - Whether to imitate behaviour of MSIE 5 and 6 * in using URL without query string in digest * authentication (boolean)
    • *
    • 'follow_redirects' - Whether to automatically follow HTTP Redirects (boolean)
    • *
    • 'max_redirects' - Maximum number of redirects to follow (integer)
    • *
    • 'strict_redirects' - Whether to keep request method on redirects via status 301 and * 302 (true, needed for compatibility with RFC 2616) * or switch to GET (false, needed for compatibility with most * browsers) (boolean)
    • *
    * * @param string|array configuration parameter name or array * ('parameter name' => 'parameter value') * @param mixed parameter value if $nameOrConfig is not an array * @return HTTP_Request2 * @throws HTTP_Request2_LogicException If the parameter is unknown */
       /**
        * Returns the value(s) of the configuration parameter(s)
        *
        * @param    string  parameter name
        * @return   mixed   value of $name parameter, array of all configuration
        *                   parameters if $name is not given
        * @throws   HTTP_Request2_LogicException If the parameter is unknown
        */
    
       /**
        * Sets the autentification data
        *
        * @param    string  user name
        * @param    string  password
        * @param    string  authentication scheme
        * @return   HTTP_Request2
        */
    
       /**
        * Returns the authentication data
        *
        * The array has the keys 'user', 'password' and 'scheme', where 'scheme'
        * is one of the HTTP_Request2::AUTH_* constants.
        *
        * @return   array
        */
    
       /**
        * Sets request header(s)
        *
        * The first parameter may be either a full header string 'header: value' or
        * header name. In the former case $value parameter is ignored, in the latter
        * the header's value will either be set to $value or the header will be
        * removed if $value is null. The first parameter can also be an array of
        * headers, in that case method will be called recursively.
        *
        * Note that headers are treated case insensitively as per RFC 2616.
        *
        * 
        * $req->setHeader('Foo: Bar'); // sets the value of 'Foo' header to 'Bar'
        * $req->setHeader('FoO', 'Baz'); // sets the value of 'Foo' header to 'Baz'
        * $req->setHeader(array('foo' => 'Quux')); // sets the value of 'Foo' header to 'Quux'
        * $req->setHeader('FOO'); // removes 'Foo' header from request
        * 
        *
        * @param    string|array    header name, header string ('Header: value')
        *                           or an array of headers
        * @param    string|array|null header value if $name is not an array,
        *                           header will be removed if value is null
        * @param    bool            whether to replace previous header with the
        *                           same name or append to its value
        * @return   HTTP_Request2
        * @throws   HTTP_Request2_LogicException
        */
    
       /**
        * Returns the request headers
        *
        * The array is of the form ('header name' => 'header value'), header names
        * are lowercased
        *
        * @return   array
        */
    
       /**
        * Adds a cookie to the request
        *
        * If the request does not have a CookieJar object set, this method simply
        * appends a cookie to "Cookie:" header.
        *
        * If a CookieJar object is available, the cookie is stored in that object.
        * Data from request URL will be used for setting its 'domain' and 'path'
        * parameters, 'expires' and 'secure' will be set to null and false,
        * respectively. If you need further control, use CookieJar's methods.
        *
        * @param    string  cookie name
        * @param    string  cookie value
        * @return   HTTP_Request2
        * @throws   HTTP_Request2_LogicException
        * @see      setCookieJar()
        */
    
       /**
        * Sets the request body
        *
        * If you provide file pointer rather than file name, it should support
        * fstat() and rewind() operations.
        *
        * @param    string|resource|HTTP_Request2_MultipartBody  Either a string
        *               with the body or filename containing body or pointer to
        *               an open file or object with multipart body data
        * @param    bool    Whether first parameter is a filename
        * @return   HTTP_Request2
        * @throws   HTTP_Request2_LogicException
        */
    
       /**
        * Returns the request body
        *
        * @return   string|resource|HTTP_Request2_MultipartBody
        */
    
       /**
        * Adds a file to form-based file upload
        *
        * Used to emulate file upload via a HTML form. The method also sets
        * Content-Type of HTTP request to 'multipart/form-data'.
        *
        * If you just want to send the contents of a file as the body of HTTP
        * request you should use setBody() method.
        *
        * If you provide file pointers rather than file names, they should support
        * fstat() and rewind() operations.
        *
        * @param    string  name of file-upload field
        * @param    string|resource|array   full name of local file, pointer to
        *               open file or an array of files
        * @param    string  filename to send in the request
        * @param    string  content-type of file being uploaded
        * @return   HTTP_Request2
        * @throws   HTTP_Request2_LogicException
        */
    
       /**
        * Adds POST parameter(s) to the request.
        *
        * @param    string|array    parameter name or array ('name' => 'value')
        * @param    mixed           parameter value (can be an array)
        * @return   HTTP_Request2
        */
    
       /**
        * Attaches a new observer
        *
        * @param    SplObserver
        */
    
       /**
        * Detaches an existing observer
        *
        * @param    SplObserver
        */
    
       /**
        * Notifies all observers
        */
    
       /**
        * Sets the last event
        *
        * Adapters should use this method to set the current state of the request
        * and notify the observers.
        *
        * @param    string  event name
        * @param    mixed   event data
        */
    
       /**
        * Returns the last event
        *
        * Observers should use this method to access the last change in request.
        * The following event names are possible:
        * 
      *
    • 'connect' - after connection to remote server, * data is the destination (string)
    • *
    • 'disconnect' - after disconnection from server
    • *
    • 'sentHeaders' - after sending the request headers, * data is the headers sent (string)
    • *
    • 'sentBodyPart' - after sending a part of the request body, * data is the length of that part (int)
    • *
    • 'sentBody' - after sending the whole request body, * data is request body length (int)
    • *
    • 'receivedHeaders' - after receiving the response headers, * data is HTTP_Request2_Response object
    • *
    • 'receivedBodyPart' - after receiving a part of the response * body, data is that part (string)
    • *
    • 'receivedEncodedBodyPart' - as 'receivedBodyPart', but data is still * encoded by Content-Encoding
    • *
    • 'receivedBody' - after receiving the complete response * body, data is HTTP_Request2_Response object
    • *
    * Different adapters may not send all the event types. Mock adapter does * not send any events to the observers. * * @return array The array has two keys: 'name' and 'data' */
       /**
        * Sets the adapter used to actually perform the request
        *
        * You can pass either an instance of a class implementing HTTP_Request2_Adapter
        * or a class name. The method will only try to include a file if the class
        * name starts with HTTP_Request2_Adapter_, it will also try to prepend this
        * prefix to the class name if it doesn't contain any underscores, so that
        * 
        * $request->setAdapter('curl');
        * 
        * will work.
        *
        * @param    string|HTTP_Request2_Adapter
        * @return   HTTP_Request2
        * @throws   HTTP_Request2_LogicException
        */
    
       /**
        * Sets the cookie jar
        *
        * A cookie jar is used to maintain cookies across HTTP requests and
        * responses. Cookies from jar will be automatically added to the request
        * headers based on request URL.
        *
        * @param HTTP_Request2_CookieJar|bool   Existing CookieJar object, true to
        *                                       create a new one, false to remove
        */
    
       /**
        * Returns current CookieJar object or null if none
        *
        * @return HTTP_Request2_CookieJar|null
        */
    
       /**
        * Sends the request and returns the response
        *
        * @throws   HTTP_Request2_Exception
        * @return   HTTP_Request2_Response
        */
    
       /**
        * Wrapper around fopen()/fstat() used by setBody() and addUpload()
        *
        * @param  string|resource file name or pointer to open file
        * @param  bool            whether to try autodetecting MIME type of file,
        *                         will only work if $file is a filename, not pointer
        * @return array array('fp' => file pointer, 'size' => file size, 'type' => MIME type)
        * @throws HTTP_Request2_LogicException
        */
    
       /**
        * Tries to detect MIME type of a file
        *
        * The method will try to use fileinfo extension if it is available,
        * deprecated mime_content_type() function in the other case. If neither
        * works, default 'application/octet-stream' MIME type is returned
        *
        * @param    string  filename
        * @return   string  file MIME type
        */
    

    File: /destinations/dropbox/lib/dropbuddy/pear_includes/HTTP/OAuth/Consumer.php

    /**
     * HTTP_OAuth
     *
     * Implementation of the OAuth specification
     *
     * PHP version 5.2.0+
     *
     * LICENSE: This source file is subject to the New BSD license that is
     * available through the world-wide-web at the following URI:
     * http://www.opensource.org/licenses/bsd-license.php. If you did not receive
     * a copy of the New BSD License and are unable to obtain it through the web,
     * please send a note to license@php.net so we can mail you a copy immediately.
     *
     * @category  HTTP
     * @package   HTTP_OAuth
     * @author    Jeff Hodsdon 
     * @copyright 2009 Jeff Hodsdon 
     * @license   http://www.opensource.org/licenses/bsd-license.php New BSD License
     * @link      http://pear.php.net/package/HTTP_OAuth
     * @link      http://github.com/jeffhodsdon/HTTP_OAuth
     */
    
    /**
     * HTTP_OAuth_Consumer
     *
     * Main consumer class that assists consumers in establishing OAuth
     * creditials and making OAuth requests.
     *
     * 
     * $consumer = new HTTP_OAuth_Consumer('key', 'secret');
     * $consumer->getRequestToken('http://example.com/oauth/request_token', $callback);
     *
     * // Store tokens
     * $_SESSION['token']        = $consumer->getToken();
     * $_SESSION['token_secret'] = $consumer->getTokenSecret();
     *
     * $url = $consumer->getAuthorizeUrl('http://example.com/oauth/authorize');
     * http_redirect($url); // function from pecl_http
     *
     * // When they come back via the $callback url
     * $consumer = new HTTP_OAuth_Consumer('key', 'secret', $_SESSION['token'],
     *     $_SESSION['token_secret']);
     * $consumer->getAccessToken('http://example.com/oauth/access_token');
     *
     * // Store tokens
     * $_SESSION['token']        = $consumer->getToken();
     * $_SESSION['token_secret'] = $consumer->getTokenSecret();
     *
     * // $response is an instance of HTTP_OAuth_Consumer_Response
     * $response = $consumer->sendRequest('http://example.com/oauth/protected_resource');
     * 
     *
     * @category  HTTP
     * @package   HTTP_OAuth
     * @author    Jeff Hodsdon 
     * @copyright 2009 Jeff Hodsdon 
     * @license   http://www.opensource.org/licenses/bsd-license.php New BSD License
     * @link      http://pear.php.net/package/HTTP_OAuth
     * @link      http://github.com/jeffhodsdon/HTTP_OAuth
     */
    
        /**
         * Consumer key
         *
         * @var string $key Consumer key
         */
    
        /**
         * secret
         *
         * @var string $secret Consumer secret
         */
    
        /**
         * Token
         *
         * @var string Access/Request token
         */
    
        /**
         * Token secret
         *
         * @var string $tokenSecret Access/Request token secret
         */
    
        /**
         * Signature method
         *
         * @var string $signatureMethod Signature method
         */
    
        /**
         * Instance of HTTP_OAuth_Consumer_Request
         * 
         * @see accept()
         * @see getOAuthConsumerRequest()
         * @var HTTP_OAuth_Consumer_Request
         */
    
        /**
         * Instance of the last request made
         *
         * @var HTTP_OAuth_Consumer_Request $lastRequest The last request made
         */
    
        /**
         * Instance of the last response received
         * 
         * @var HTTP_OAuth_Consumer_Response
         */
    
        /**
         * Construct
         *
         * @param string $key         Consumer key
         * @param string $secret      Consumer secret
         * @param string $token       Access/Reqest token
         * @param string $tokenSecret Access/Reqest token secret
         *
         * @return void
         */
    
        /**
         * Get request token
         *
         * @param string $url        Request token url
         * @param string $callback   Callback url
         * @param array  $additional Additional parameters to be in the request
         *                           recommended in the spec.
         * @param string $method     HTTP method to use for the request
         *
         * @return void
         * @throws HTTP_OAuth_Consumer_Exception_InvalidResponse Missing token/secret
         */
    
        /**
         * Get access token
         *
         * @param string $url        Access token url
         * @param string $verifier   OAuth verifier from the provider
         * @param array  $additional Additional parameters to be in the request
         *                           recommended in the spec.
         * @param string $method     HTTP method to use for the request
         *
         * @return array Token and token secret
         * @throws HTTP_OAuth_Consumer_Exception_InvalidResponse Mising token/secret
         */
    
        /**
         * Get authorize url
         *
         * @param string $url        Authorize url
         * @param array  $additional Additional parameters for the auth url
         *
         * @return string Authorize url
         */
    
        /**
         * Send request
         *
         * @param string $url        URL of the protected resource
         * @param array  $additional Additional parameters
         * @param string $method     HTTP method to use
         *
         * @return HTTP_OAuth_Consumer_Response Instance of a response class
         */
    
        /**
         * Get key
         *
         * @return string Consumer key
         */
    
        /**
         * Get secret
         *
         * @return string Consumer secret
         */
    
        /**
         * Get token
         *
         * @return string Token
         */
    
        /**
         * Set token
         *
         * @param string $token Request/Access token
         *
         * @return void
         */
    
        /**
         * Get token secret
         *
         * @return string Accessoken secret
         */
    
        /**
         * Set token secret
         *
         * @param string $secret Token secret
         *
         * @return void
         */
    
        /**
         * Get signature method
         *
         * @return string Signature method
         */
    
        /**
         * Set signature method
         *
         * @param string $method Signature method to use
         *
         * @return void
         */
    
        /**
         * Get secrets
         *
         * @return array Array possible secrets
         */
    
        /**
         * Accepts a custom instance of HTTP_OAuth_Consumer_Request.
         * 
         * @param HTTP_OAuth_Consumer_Request $object Custom instance
         * 
         * @see getOAuthConsumerRequest()
         * @return void
         */
    
        /**
         * Gets instance of HTTP_OAuth_Consumer_Request
         *
         * @see accept()
         * @return HTTP_OAuth_Consumer_Request
         */
    
        /**
         * Gets the last request
         *
         * @return null|HTTP_OAuth_Consumer_Request Instance of the last request
         * @see self::sendRequest()
         */
    
        /**
         * Gets the most recent HTTP_OAuth_Consumer_Response object
         * 
         * @return HTTP_OAuth_Consumer_Response|null
         */
    

    File: /destinations/dropbox/lib/dropbuddy/pear_includes/HTTP/OAuth/Exception.php

    /**
     * HTTP_OAuth
     *
     * Implementation of the OAuth specification
     *
     * PHP version 5.2.0+
     *
     * LICENSE: This source file is subject to the New BSD license that is
     * available through the world-wide-web at the following URI:
     * http://www.opensource.org/licenses/bsd-license.php. If you did not receive
     * a copy of the New BSD License and are unable to obtain it through the web,
     * please send a note to license@php.net so we can mail you a copy immediately.
     *
     * @category  HTTP
     * @package   HTTP_OAuth
     * @author    Jeff Hodsdon 
     * @copyright 2009 Jeff Hodsdon 
     * @license   http://www.opensource.org/licenses/bsd-license.php New BSD License
     * @link      http://pear.php.net/package/HTTP_OAuth
     * @link      http://github.com/jeffhodsdon/HTTP_OAuth
     */
    
    /**
     * HTTP_OAuth_Exception
     *
     * Main Exception class for HTTP_OAuth. All other HTTP_OAuth Exceptions
     * extend this class.
     *
     * @uses      PEAR_Exception
     * @category  HTTP
     * @package   HTTP_OAuth
     * @author    Jeff Hodsdon 
     * @copyright 2009 Jeff Hodsdon 
     * @license   http://www.opensource.org/licenses/bsd-license.php New BSD License
     * @link      http://pear.php.net/package/HTTP_OAuth
     * @link      http://github.com/jeffhodsdon/HTTP_OAuth
     */
    
        /**
         * Construct
         *
         * Allow no message to construct a exception
         *
         * @param string                              $message Exception message
         * @param int|Exception|PEAR_Error|array|null $p2      Exception cause
         * @param int|null                            $p3      Exception code or null
         *
         * @return void
         */
    

    File: /destinations/dropbox/lib/dropbuddy/pear_includes/HTTP/OAuth/Message.php

    /**
     * HTTP_OAuth
     *
     * Implementation of the OAuth specification
     *
     * PHP version 5.2.0+
     *
     * LICENSE: This source file is subject to the New BSD license that is
     * available through the world-wide-web at the following URI:
     * http://www.opensource.org/licenses/bsd-license.php. If you did not receive
     * a copy of the New BSD License and are unable to obtain it through the web,
     * please send a note to license@php.net so we can mail you a copy immediately.
     *
     * @category  HTTP
     * @package   HTTP_OAuth
     * @author    Jeff Hodsdon 
     * @copyright 2009 Jeff Hodsdon 
     * @license   http://www.opensource.org/licenses/bsd-license.php New BSD License
     * @link      http://pear.php.net/package/HTTP_OAuth
     * @link      http://github.com/jeffhodsdon/HTTP_OAuth
     */
    
    /**
     * HTTP_OAuth_Message
     *
     * Main message class for Request and Response classes to extend from.  Provider
     * and Consumer packages use this class as there parent for the request/response
     * classes. This contains specification parameters handling and ArrayAccess,
     * Countable, IteratorAggregate features.
     *
     * @category  HTTP
     * @package   HTTP_OAuth
     * @author    Jeff Hodsdon 
     * @copyright 2009 Jeff Hodsdon 
     * @license   http://www.opensource.org/licenses/bsd-license.php New BSD License
     * @link      http://pear.php.net/package/HTTP_OAuth
     * @link      http://github.com/jeffhodsdon/HTTP_OAuth
     */
    
        /**
         * OAuth Parameters
         *
         * @var string $oauthParams OAuth parameters
         */
    
        /**
         * Parameters
         *
         * @var array $parameters Parameters
         */
    
        /**
         * Get OAuth specific parameters
         *
         * @return array OAuth specific parameters
         */
    
        /**
         * Get parameters
         *
         * @return array Request's parameters
         */
    
        /**
         * Set parameters
         *
         * @param array $params Name => value pair array of parameters
         *
         * @return void
         */
    
        /**
         * Get signature method
         *
         * @return string Signature method
         */
    
        /**
         * Get
         *
         * @param string $var Variable to get
         *
         * @return mixed Parameter if exists, else null
         */
    
        /**
         * Set
         *
         * @param string $var Name of the variable
         * @param mixed  $val Value of the variable
         *
         * @return void
         */
    
        /**
         * Offset exists
         *
         * @param string $offset Name of the offset
         *
         * @return bool Offset exists or not
         */
    
        /**
         * Offset get
         *
         * @param string $offset Name of the offset
         *
         * @return string Offset value
         */
    
        /**
         * Offset set
         *
         * @param string $offset Name of the offset
         * @param string $value  Value of the offset
         *
         * @return void
         */
    
        /**
         * Offset unset
         *
         * @param string $offset Name of the offset
         *
         * @return void
         */
    
        /**
         * Count
         *
         * @return int Amount of parameters
         */
    
        /**
         * Get iterator
         *
         * @return ArrayIterator Iterator for self::$parameters
         */
    
        /**
         * Prefix parameter
         *
         * Prefixes a parameter name with oauth_ if it is a valid oauth paramter
         *
         * @param string $param Name of the parameter
         *
         * @return string Prefix parameter
         */
    

    File: /destinations/dropbox/lib/dropbuddy/pear_includes/HTTP/OAuth/Signature.php

    /**
     * HTTP_OAuth
     *
     * Implementation of the OAuth specification
     *
     * PHP version 5.2.0+
     *
     * LICENSE: This source file is subject to the New BSD license that is
     * available through the world-wide-web at the following URI:
     * http://www.opensource.org/licenses/bsd-license.php. If you did not receive
     * a copy of the New BSD License and are unable to obtain it through the web,
     * please send a note to license@php.net so we can mail you a copy immediately.
     *
     * @category  HTTP
     * @package   HTTP_OAuth
     * @author    Jeff Hodsdon 
     * @copyright 2009 Jeff Hodsdon 
     * @license   http://www.opensource.org/licenses/bsd-license.php New BSD License
     * @link      http://pear.php.net/package/HTTP_OAuth
     * @link      http://github.com/jeffhodsdon/HTTP_OAuth
     */
    
    /**
     * HTTP_OAuth_Signature
     *
     * Base util class for signatures, e.g. factory.
     *
     * @category  HTTP
     * @package   HTTP_OAuth
     * @author    Jeff Hodsdon 
     * @copyright 2009 Jeff Hodsdon 
     * @license   http://www.opensource.org/licenses/bsd-license.php New BSD License
     * @link      http://pear.php.net/package/HTTP_OAuth
     * @link      http://github.com/jeffhodsdon/HTTP_OAuth
     */
    
        /**
         * Factory
         *
         * @param string $method Signature method
         *
         * @return HTTP_OAuth_Signature_Common Signature instance
         */
    

    File: /destinations/dropbox/lib/dropbuddy/pear_includes/HTTP/OAuth/Provider/Exception.php

    /**
     * A package for writing/managing OAuth provider requests
     *
     * PHP version 5.2.0+
     *
     * LICENSE: This source file is subject to the New BSD license that is
     * available through the world-wide-web at the following URI:
     * http://www.opensource.org/licenses/bsd-license.php. If you did not receive
     * a copy of the New BSD License and are unable to obtain it through the web,
     * please send a note to license@php.net so we can mail you a copy immediately.
     *
     * @category  HTTP
     * @package   HTTP_OAuth
     * @author    Joe Stump 
     * @copyright 2009 Joe Stump 
     * @license   http://tinyurl.com/new-bsd New BSD License
     * @version   CVS: $Id:$
     * @link      http://pear.php.net/package/HTTP_OAuth
     * @link      http://github.com/joestump/HTTP_OAuth
     */
    
    /**
     * Base exception class for all provider exceptions
     *
     * @category HTTP
     * @package  HTTP_OAuth
     * @author   Joe Stump 
     * @license  http://tinyurl.com/new-bsd New BSD License
     * @link     http://pear.php.net/package/HTTP_OAuth
     */
    

    File: /destinations/dropbox/lib/dropbuddy/pear_includes/HTTP/OAuth/Provider/Request.php

    /**
     * HTTP_OAuth
     *
     * PHP version 5.2.0+
     *
     * LICENSE: This source file is subject to the New BSD license that is
     * available through the world-wide-web at the following URI:
     * http://www.opensource.org/licenses/bsd-license.php. If you did not receive
     * a copy of the New BSD License and are unable to obtain it through the web,
     * please send a note to license@php.net so we can mail you a copy immediately.
     *
     * @category  HTTP
     * @package   HTTP_OAuth
     * @author    Jeff Hodsdon 
     * @copyright 2009 Jeff Hodsdon 
     * @license   http://www.opensource.org/licenses/bsd-license.php New BSD License
     * @link      http://pear.php.net/package/HTTP_OAuth
     * @link      http://github.com/jeffhodsdon/HTTP_OAuth
     */
    
    /**
     * HTTP_OAuth_Provider_Request
     *
     * NOTE:
     * Currently, it's up to the developer to implement the provider side of
     * timestamp and nonce checking.
     *
     * @category  HTTP
     * @package   HTTP_OAuth
     * @author    Jeff Hodsdon 
     * @copyright 2009 Jeff Hodsdon 
     * @license   http://www.opensource.org/licenses/bsd-license.php New BSD License
     * @link      http://pear.php.net/package/HTTP_OAuth
     * @link      http://github.com/jeffhodsdon/HTTP_OAuth
     */
    
        /**
         * Headers from the incoming request
         *
         * @var array $headers Headers from the incoming request
         */
    
        /**
         * Method used in the incoming request
         * 
         * @var string Method used in the incoming request
         */
    
        /**
         * Construct
         *
         * @return void
         */
    
        /**
         * Set incoming request headers
         *
         * @param array $headers Optional headers to set
         *
         * @return void
         */
    
        /**
         * Apache request headers
         *
         * If the function exists to get the request headers from apache
         * use it to get them, otherwise return null. Abstracted for
         * testing purposes.
         *
         * @return array|null Headers or null if no function
         */
    
        /**
         * Pecl HTTP request headers
         *
         * If the pecl_http extension is loaded use it to get the incoming
         * request headers, otherwise return null. Abstracted for testing
         * purposes.
         *
         * @return array|null Headers or null if no extension
         */
    
        /**
         * Set parameters from the incoming request 
         * 
         * @return void
         */
    
        /**
         * Is valid signature
         *
         * @param string $consumerSecret Consumer secret value
         * @param string $tokenSecret    Token secret value (if exists)
         *
         * @return bool Valid or not
         */
    
        /**
         * Gets incoming request query string
         *
         * @return string|null Query string
         */
    
        /**
         * Get request method
         *
         * @return string Request method
         */
    
        /**
         * Get url
         *
         * @return string URL of the request
         */
    
        /**
         * Gets incoming request URI
         *
         * Checks if the schema/host is included and strips it.
         * Thanks Naosumi! Bug #16800
         *
         * @return string|null Request URI, null if doesn't exist
         */
    
        /**
         * Gets a header
         *
         * @param string $header Which header to fetch
         *
         * @return string|null Header if exists, null if not
         */
    
        /**
         * getHeaders 
         * 
         * @access public
         * @return void
         */
    
        /**
         * Gets POST data
         *
         * @return string Post data
         */
    
        /**
         * Parses a query string
         *
         * Does not urldecode the name or values like $_GET and $_POST
         *
         * @param string $string Query string
         *
         * @return array Data from the query string
         */
    

    File: /destinations/dropbox/lib/dropbuddy/pear_includes/HTTP/OAuth/Provider/Response.php

    /**
     * HTTP_OAuth
     *
     * PHP version 5.2.0+
     *
     * LICENSE: This source file is subject to the New BSD license that is
     * available through the world-wide-web at the following URI:
     * http://www.opensource.org/licenses/bsd-license.php. If you did not receive
     * a copy of the New BSD License and are unable to obtain it through the web,
     * please send a note to license@php.net so we can mail you a copy immediately.
     *
     * @category  HTTP
     * @package   HTTP_OAuth
     * @author    Jeff Hodsdon 
     * @copyright 2009 Jeff Hodsdon 
     * @license   http://www.opensource.org/licenses/bsd-license.php New BSD License
     * @link      http://pear.php.net/package/HTTP_OAuth
     * @link      http://github.com/jeffhodsdon/HTTP_OAuth
     */
    
    /**
     * HTTP_OAuth_Provider_Response
     *
     * @category  HTTP
     * @package   HTTP_OAuth
     * @author    Jeff Hodsdon 
     * @copyright 2009 Jeff Hodsdon 
     * @license   http://www.opensource.org/licenses/bsd-license.php New BSD License
     * @link      http://pear.php.net/package/HTTP_OAuth
     * @link      http://github.com/jeffhodsdon/HTTP_OAuth
     */
    
        /**
         * Status map
         *
         * Map of what statuses have codes and body text
         *
         * @var array $statusMap Map of status to code and text
         */
    
        /**
         * Headers to be sent the OAuth response
         *
         * @var array $headers Headers to send as an OAuth response
         */
    
        /**
         * Body of the response
         *
         * @var string $body Body of the response
         */
    
        /**
         * Set realm
         *
         * @param string $realm Realm for the WWW-Authenticate header
         *
         * @return void
         */
    
        /**
         * Set header
         *
         * @param string $name  Name of the header
         * @param string $value Value of the header
         *
         * @return void
         */
    
        /**
         * Get header
         *
         * @param string $name Name of header
         *
         * @return string|null Header if exists, null if not
         */
    
        /**
         * Get all headers
         *
         * @return array Current headers to send
         */
    
        /**
         * Set all headers
         *
         * @param array $headers Sets all headers to this name/value array
         *
         * @return void
         */
    
        /**
         * Set status
         *
         * @param int $status Status constant
         *
         * @return void
         */
    
        /**
         * Headers sent
         *
         * @return bool If the headers have been sent
         */
    
        /**
         * Header
         *
         * @param string $header Header to add
         *
         * @return void
         */
    
        /**
         * Prepare body
         *
         * Sets the body if nesscary
         *
         * @return void
         */
    
        /**
         * Set body
         *
         * @param string $body Sets the body to send
         *
         * @return void
         */
    
        /**
         * Get body
         *
         * @return string Body that will be sent
         */
    
        /**
         * Send response
         *
         * Does a check whether or not headers have been sent in order
         * to determine if it can send them.
         *
         * @return void
         */
    

    File: /destinations/dropbox/lib/dropbuddy/pear_includes/HTTP/OAuth/Provider/Exception/InvalidRequest.php

    /**
     * HTTP_OAuth
     *
     * PHP version 5.2.0+
     *
     * LICENSE: This source file is subject to the New BSD license that is
     * available through the world-wide-web at the following URI:
     * http://www.opensource.org/licenses/bsd-license.php. If you did not receive
     * a copy of the New BSD License and are unable to obtain it through the web,
     * please send a note to license@php.net so we can mail you a copy immediately.
     *
     * @category  HTTP
     * @package   HTTP_OAuth
     * @author    Jeff Hodsdon 
     * @copyright 2009 Jeff Hodsdon 
     * @license   http://www.opensource.org/licenses/bsd-license.php New BSD License
     * @link      http://pear.php.net/package/HTTP_OAuth
     * @link      http://github.com/jeffhodsdon/HTTP_OAuth
     */
    
    /**
     * HTTP_OAuth_Provider_Exception_InvalidRequest
     *
     * @category  HTTP
     * @package   HTTP_OAuth
     * @author    Jeff Hodsdon 
     * @copyright 2009 Jeff Hodsdon 
     * @license   http://www.opensource.org/licenses/bsd-license.php New BSD License
     * @link      http://pear.php.net/package/HTTP_OAuth
     * @link      http://github.com/jeffhodsdon/HTTP_OAuth
     */
    

    File: /destinations/dropbox/lib/dropbuddy/pear_includes/HTTP/OAuth/Store/Data.php

    /**
     * HTTP_OAuth_Store_Data 
     * 
     * PHP Version 5.0.0
     * 
     * @category  HTTP
     * @package   HTTP_OAuth
     * @author    Bill Shupp  
     * @copyright 2009 Bill Shupp
     * @license   http://www.opensource.org/licenses/bsd-license.php FreeBSD
     * @link      http://pear.php.net/http_oauth
     */
    
    /**
     * A simple structure for storing oauth access token data.
     * 
     * @category  HTTP
     * @package   HTTP_OAuth
     * @author    Bill Shupp  
     * @copyright 2009 Bill Shupp
     * @license   http://www.opensource.org/licenses/bsd-license.php FreeBSD
     * @link      http://pear.php.net/http_oauth
     */
    
        /**
         * The user's unique ID at the the consumer
         * 
         * @var mixed
         */
    
        /**
         * The user's unique ID at the provider
         * 
         * @var mixed
         */
    
        /**
         * The name of the provider (i.e. 'twitter')
         * 
         * @var mixed
         */
    
        /**
         * The access token
         * 
         * @var string
         */
    
        /**
         * The access token secret
         * 
         * @var string
         */
    
        /**
         * The token's scope
         * 
         * @var mixed
         */
    

    File: /destinations/dropbox/lib/dropbuddy/pear_includes/HTTP/OAuth/Store/Consumer/CacheLite.php

    /**
     * HTTP_OAuth_Store_CacheLite 
     * 
     * PHP Version 5.0.0
     * 
     * @uses      HTTP_OAuth_Store_Consumer_Interface
     * @category  HTTP
     * @package   HTTP_OAuth
     * @author    Bill Shupp  
     * @copyright 2010 Bill Shupp
     * @license   http://www.opensource.org/licenses/bsd-license.php FreeBSD
     * @link      http://pear.php.net/http_oauth
     */
    
    /**
     * Cache_Lite driver for HTTP_OAuth_Store_Consumer_Interface
     * 
     * @uses      HTTP_OAuth_Store_Consumer_Interface
     * @category  HTTP
     * @package   HTTP_OAuth
     * @author    Bill Shupp  
     * @copyright 2010 Bill Shupp
     * @license   http://www.opensource.org/licenses/bsd-license.php FreeBSD
     * @link      http://pear.php.net/http_oauth
     */
    
        /**
         * Instance of Cache_Lite
         * 
         * @var Cache_Lite|null
         */
    
        /**
         * CacheLite options
         * 
         * @var array
         * @see $defaultOptions
         */
    
        /**
         * Default options for Cache_Lite
         * 
         * @var array
         */
    
        /**
         * Instantiate Cache_Lite.  Allows for options to be passed to Cache_Lite.  
         * 
         * @param array $options Options for Cache_Lite constructor
         * 
         * @return void
         */
    
        /**
         * Sets a request token
         * 
         * @param string $token        The request token
         * @param string $tokenSecret  The request token secret
         * @param string $providerName The name of the provider (i.e. 'twitter')
         * @param string $sessionID    A string representing this user's session
         * 
         * @return true on success, false or PEAR_Error on failure
         */
    
        /**
         * Gets a request token as an array of the token, tokenSecret, providerName,
         * and sessionID (array key names)
         * 
         * @param string $providerName The provider name (i.e. 'twitter')
         * @param string $sessionID    A string representing this user's session
         * 
         * @return array on success, false on failure
         */
    
        /**
         * Gets a cache key for request tokens.  It's an md5 hash of the provider name
         * and sessionID
         * 
         * @param string $providerName The provider name (i.e. 'twitter')
         * @param string $sessionID    A string representing this user's session
         * 
         * @return string
         */
    
        /**
         * Gets access token data in the form of an HTTP_OAuth_Store_Data object
         * 
         * @param string $consumerUserID The end user's ID at the consumer
         * @param string $providerName   The provider name (i.e. 'twitter')
         * 
         * @return HTTP_OAuth_Store_Data
         */
    
        /**
         * Sets access token data from an HTTP_OAuth_Store_Data object
         * 
         * @param HTTP_OAuth_Store_Data $data The access token data
         * 
         * @return bool true on success, false or PEAR_Error on failure
         */
    
        /**
         * Removes an access token
         * 
         * @param HTTP_OAuth_Store_Data $data The access token data
         * 
         * @return bool true on success, false or PEAR_Error on failure
         */
    
        /**
         * Gets an access token key for storage, based on the consumer user ID and the
         * provider name
         * 
         * @param string $consumerUserID The end user's ID at the consumer
         * @param string $providerName   The provider name (i.e. 'twitter')
         * 
         * @return void
         */
    
        /**
         * Sets options for Cache_Lite based on the needs of the current method.
         * Options set include the subdirectory to be used, and the expiration.
         * 
         * @param string $key    The sub-directory of the cacheDir
         * @param string $expire The cache lifetime (expire) to be used
         * 
         * @return void
         */
    
        /**
         * Make sure the given sub directory exists.  If not, create it.
         * 
         * @param string $dir The full path to the sub director we plan to write to
         * 
         * @return void
         */
    

    File: /destinations/dropbox/lib/dropbuddy/pear_includes/HTTP/OAuth/Store/Consumer/Interface.php

    /**
     * HTTP_OAuth_Store_Consumer_Interface 
     * 
     * PHP Version 5.0.0
     * 
     * @category  HTTP
     * @package   HTTP_OAuth
     * @author    Bill Shupp  
     * @copyright 2010 Bill Shupp
     * @license   http://www.opensource.org/licenses/bsd-license.php FreeBSD
     * @link      http://pear.php.net/http_oauth
     */
    
    /**
     * A consumer storage interface for access tokens and request tokens.
     * 
     * @category  HTTP
     * @package   HTTP_OAuth
     * @author    Bill Shupp  
     * @copyright 2010 Bill Shupp
     * @license   http://www.opensource.org/licenses/bsd-license.php FreeBSD
     * @link      http://pear.php.net/http_oauth
     */
    
        /**
         * Sets a request token
         * 
         * @param string $token        The request token
         * @param string $tokenSecret  The request token secret
         * @param string $providerName The name of the provider (i.e. 'twitter')
         * @param string $sessionID    A string representing this user's session
         * 
         * @return true on success, false or failure
         */
    
        /**
         * Gets a request token as an array of the token, tokenSecret, providerName,
         * and sessionID (array key names)
         * 
         * @param string $providerName The provider name (i.e. 'twitter')
         * @param string $sessionID    A string representing this user's session
         * 
         * @return array on success, false on failure
         */
    
        /**
         * Gets access token data in the form of an HTTP_OAuth_Store_Data object
         * 
         * @param string $consumerUserID The end user's ID at the consumer
         * @param string $providerName   The provider name (i.e. 'twitter')
         * 
         * @return HTTP_OAuth_Data_Store
         */
    
        /**
         * Sets access token data from an HTTP_OAuth_Store_Data object
         * 
         * @param HTTP_OAuth_Store_Data $data The access token data
         * 
         * @return bool true on success, false on failure
         */
    
        /**
         * Removes an access token
         * 
         * @param HTTP_OAuth_Store_Data $data The access token data
         * 
         * @return bool true on success, false or PEAR_Error on failure
         */
    

    File: /destinations/dropbox/lib/dropbuddy/pear_includes/HTTP/OAuth/Exception/NotImplemented.php

    /**
     * HTTP_OAuth
     *
     * Implementation of the OAuth specification
     *
     * PHP version 5.2.0+
     *
     * LICENSE: This source file is subject to the New BSD license that is
     * available through the world-wide-web at the following URI:
     * http://www.opensource.org/licenses/bsd-license.php. If you did not receive  
     * a copy of the New BSD License and are unable to obtain it through the web, 
     * please send a note to license@php.net so we can mail you a copy immediately.
     *
     * @category  HTTP
     * @package   HTTP_OAuth
     * @author    Jeff Hodsdon  
     * @copyright 2009 Jeff Hodsdon  
     * @license   http://www.opensource.org/licenses/bsd-license.php New BSD License
     * @link      http://pear.php.net/package/HTTP_OAuth
     * @link      http://github.com/jeffhodsdon/HTTP_OAuth
     */
    
    /**
     * HTTP_OAuth_Exception_NotImplemented
     * 
     * Exception class thrown when method are not yet implemented.
     *
     * @category  HTTP
     * @package   HTTP_OAuth
     * @author    Jeff Hodsdon  
     * @copyright 2009 Jeff Hodsdon  
     * @license   http://www.opensource.org/licenses/bsd-license.php New BSD License
     * @link      http://pear.php.net/package/HTTP_OAuth
     * @link      http://github.com/jeffhodsdon/HTTP_OAuth
     */
    

    File: /destinations/dropbox/lib/dropbuddy/pear_includes/HTTP/OAuth/Signature/Common.php

    /**
     * HTTP_OAuth
     *
     * Implementation of the OAuth specification
     *
     * PHP version 5.2.0+
     *
     * LICENSE: This source file is subject to the New BSD license that is
     * available through the world-wide-web at the following URI:
     * http://www.opensource.org/licenses/bsd-license.php. If you did not receive
     * a copy of the New BSD License and are unable to obtain it through the web,
     * please send a note to license@php.net so we can mail you a copy immediately.
     *
     * @category  HTTP
     * @package   HTTP_OAuth
     * @author    Jeff Hodsdon 
     * @copyright 2009 Jeff Hodsdon 
     * @license   http://www.opensource.org/licenses/bsd-license.php New BSD License
     * @link      http://pear.php.net/package/HTTP_OAuth
     * @link      http://github.com/jeffhodsdon/HTTP_OAuth
     */
    
    /**
     * HTTP_OAuth_Signature_Common
     *
     * Common class for signature implemenations. Holds specification logic to
     * create signature base strings and keys.
     *
     * @category  HTTP
     * @package   HTTP_OAuth
     * @author    Jeff Hodsdon 
     * @copyright 2009 Jeff Hodsdon 
     * @license   http://www.opensource.org/licenses/bsd-license.php New BSD License
     * @link      http://pear.php.net/package/HTTP_OAuth
     * @link      http://github.com/jeffhodsdon/HTTP_OAuth
     */
    
        /**
         * Get base
         *
         * @param mixed $method HTTP method used in the request
         * @param mixed $url    URL of the request
         * @param array $params Parameters in the request
         *
         * @return string Base signature string
         */
    
        /**
         * Get key
         *
         * @param string $consumerSecret Consumer secret value
         * @param string $tokenSecret    Token secret value (if exists)
         *
         * @return string Signature key
         */
    
        /**
         * Build
         *
         * @param string $method         HTTP method used
         * @param string $url            URL of the request
         * @param array  $params         Parameters of the request
         * @param string $consumerSecret Consumer secret value
         * @param string $tokenSecret    Token secret value (if exists)
         *
         * @return string Signature
         */
    

    File: /destinations/dropbox/lib/dropbuddy/pear_includes/HTTP/OAuth/Signature/PLAINTEXT.php

    /**
     * HTTP_OAuth
     *
     * Implementation of the OAuth specification
     *
     * PHP version 5.2.0+
     *
     * LICENSE: This source file is subject to the New BSD license that is
     * available through the world-wide-web at the following URI:
     * http://www.opensource.org/licenses/bsd-license.php. If you did not receive
     * a copy of the New BSD License and are unable to obtain it through the web,
     * please send a note to license@php.net so we can mail you a copy immediately.
     *
     * @category  HTTP
     * @package   HTTP_OAuth
     * @author    Jeff Hodsdon 
     * @copyright 2009 Jeff Hodsdon 
     * @license   http://www.opensource.org/licenses/bsd-license.php New BSD License
     * @link      http://pear.php.net/package/HTTP_OAuth
     * @link      http://github.com/jeffhodsdon/HTTP_OAuth
     */
    
    /**
     * HTTP_OAuth_Signature_PLAINTEXT
     *
     * Signature class for the PLAINTEXT implementation.
     *
     * @category  HTTP
     * @package   HTTP_OAuth
     * @author    Jeff Hodsdon 
     * @copyright 2009 Jeff Hodsdon 
     * @license   http://www.opensource.org/licenses/bsd-license.php New BSD License
     * @link      http://pear.php.net/package/HTTP_OAuth
     * @link      http://github.com/jeffhodsdon/HTTP_OAuth
     */
    
        /**
         * Build
         *
         * @param string $method         HTTP method used
         * @param string $url            URL of the request
         * @param array  $params         Parameters of the request
         * @param string $consumerSecret Consumer secret value
         * @param string $tokenSecret    Token secret value (if exists)
         *
         * @return string Signature
         */
    

    File: /destinations/dropbox/lib/dropbuddy/pear_includes/HTTP/OAuth/Signature/HMAC/SHA1.php

    /**
     * HTTP_OAuth
     *
     * Implementation of the OAuth specification
     *
     * PHP version 5.2.0+
     *
     * LICENSE: This source file is subject to the New BSD license that is
     * available through the world-wide-web at the following URI:
     * http://www.opensource.org/licenses/bsd-license.php. If you did not receive
     * a copy of the New BSD License and are unable to obtain it through the web,
     * please send a note to license@php.net so we can mail you a copy immediately.
     *
     * @category  HTTP
     * @package   HTTP_OAuth
     * @author    Jeff Hodsdon 
     * @copyright 2009 Jeff Hodsdon 
     * @license   http://www.opensource.org/licenses/bsd-license.php New BSD License
     * @link      http://pear.php.net/package/HTTP_OAuth
     * @link      http://github.com/jeffhodsdon/HTTP_OAuth
     */
    
    /**
     * HTTP_OAuth_Signature_HMAC_SHA1
     *
     * Signature class for the HMAC-SHA1 signing method.
     *
     * @category  HTTP
     * @package   HTTP_OAuth
     * @author    Jeff Hodsdon 
     * @copyright 2009 Jeff Hodsdon 
     * @license   http://www.opensource.org/licenses/bsd-license.php New BSD License
     * @link      http://pear.php.net/package/HTTP_OAuth
     * @link      http://github.com/jeffhodsdon/HTTP_OAuth
     */
    
        /**
         * Build
         *
         * @param string $method         HTTP method used
         * @param string $url            URL of the request
         * @param array  $params         Parameters of the request
         * @param string $consumerSecret Consumer secret value
         * @param string $tokenSecret    Token secret value (if exists)
         *
         * @return string Signature
         */
    

    File: /destinations/dropbox/lib/dropbuddy/pear_includes/HTTP/OAuth/Signature/RSA/SHA1.php

    /**
     * HTTP_OAuth
     *
     * Implementation of the OAuth specification
     *
     * PHP version 5.2.0+
     *
     * LICENSE: This source file is subject to the New BSD license that is
     * available through the world-wide-web at the following URI:
     * http://www.opensource.org/licenses/bsd-license.php. If you did not receive
     * a copy of the New BSD License and are unable to obtain it through the web,
     * please send a note to license@php.net so we can mail you a copy immediately.
     *
     * @category  HTTP
     * @package   HTTP_OAuth
     * @author    Jeff Hodsdon 
     * @copyright 2009 Jeff Hodsdon 
     * @license   http://www.opensource.org/licenses/bsd-license.php New BSD License
     * @link      http://pear.php.net/package/HTTP_OAuth
     * @link      http://github.com/jeffhodsdon/HTTP_OAuth
     */
    
    /**
     * HTTP_OAuth_Signature_RSA_SHA1
     *
     * Signature class for the RSA-SHA1 signing method.
     *
     * @category  HTTP
     * @package   HTTP_OAuth
     * @author    Jeff Hodsdon 
     * @copyright 2009 Jeff Hodsdon 
     * @license   http://www.opensource.org/licenses/bsd-license.php New BSD License
     * @link      http://pear.php.net/package/HTTP_OAuth
     * @link      http://github.com/jeffhodsdon/HTTP_OAuth
     */
    
        /**
         * Build
         *
         * @param string $method         HTTP method used
         * @param string $url            URL of the request
         * @param array  $params         Parameters of the request
         * @param string $consumerSecret Consumer secret value
         * @param string $tokenSecret    Token secret value (if exists)
         *
         * @return string Signature
         */
    

    File: /destinations/dropbox/lib/dropbuddy/pear_includes/HTTP/OAuth/Consumer/Request.php

    /**
     * HTTP_OAuth
     *
     * Implementation of the OAuth specification
     *
     * PHP version 5.2.0+
     *
     * LICENSE: This source file is subject to the New BSD license that is
     * available through the world-wide-web at the following URI:
     * http://www.opensource.org/licenses/bsd-license.php. If you did not receive
     * a copy of the New BSD License and are unable to obtain it through the web,
     * please send a note to license@php.net so we can mail you a copy immediately.
     *
     * @category  HTTP
     * @package   HTTP_OAuth
     * @author    Jeff Hodsdon 
     * @copyright 2009 Jeff Hodsdon 
     * @license   http://www.opensource.org/licenses/bsd-license.php New BSD License
     * @link      http://pear.php.net/package/HTTP_OAuth
     * @link      http://github.com/jeffhodsdon/HTTP_OAuth
     */
    
    /**
     * HTTP_OAuth_Consumer_Request
     *
     * Class to make OAuth requests to a provider.  Given a url, consumer secret,
     * token secret, and HTTP method make and sign a request to send.
     *
     * @category  HTTP
     * @package   HTTP_OAuth
     * @author    Jeff Hodsdon 
     * @copyright 2009 Jeff Hodsdon 
     * @license   http://www.opensource.org/licenses/bsd-license.php New BSD License
     * @link      http://pear.php.net/package/HTTP_OAuth
     * @link      http://github.com/jeffhodsdon/HTTP_OAuth
     */
    
        /**
         *  Auth type constants
         */
    
        /**
         * Auth type
         *
         * @var int $authType Authorization type
         */
    
        /**
         * Secrets
         *
         * Consumer and token secrets that will be used to sign
         * the request
         *
         * @var array $secrets Array of consumer and token secret
         */
    
        /**
         * HTTP_Request2 instance
         *
         * @var HTTP_Request2 $request Instance of HTTP_Request2
         */
    
        /**
         * Construct
         *
         * Sets url, secrets, and http method
         *
         * @param string $url     Url to be requested
         * @param array  $secrets Array of consumer and token secret
         *
         * @return void
         */
    
        /**
         * Accept
         *
         * @param mixed $object Object to accept
         *
         * @see getHTTPRequest2()
         * @return void
         */
    
        /**
         * Returns $this->request if it is an instance of HTTP_Request.  If not, it 
         * creates one.
         * 
         * @return HTTP_Request2
         */
    
        /**
         * Sets consumer/token secrets array
         *
         * @param array $secrets Array of secrets to set
         *
         * @return void
         */
    
        /**
         * Gets secrets
         *
         * @return array Secrets array
         */
    
        /**
         * Sets authentication type
         *
         * Valid auth types are self::AUTH_HEADER, self::AUTH_POST,
         * and self::AUTH_GET
         *
         * @param int $type Auth type defined by this class constants
         *
         * @return void
         */
    
        /**
         * Gets authentication type
         *
         * @return int Set auth type
         */
    
        /**
         * Sends request
         *
         * Builds and sends the request. This will sign the request with
         * the given secrets at self::$secrets.
         *
         * @return HTTP_OAuth_Consumer_Response Response instance
         * @throws HTTP_OAuth_Exception when request fails
         */
    
        /**
         * Builds request for sending
         *
         * Adds timestamp, nonce, signs, and creates the HttpRequest object.
         *
         * @return HttpRequest Instance of the request object ready to send()
         */
    
        /**
         * Creates OAuth header
         *
         * Given the passed in OAuth parameters, put them together
         * in a formated string for a Authorization header.
         *
         * @param array $params OAuth parameters
         *
         * @return void
         */
    
        /**
         * Call
         *
         * If method exists on HTTP_Request2 pass to that, otherwise
         * throw BadMethodCallException
         *
         * @param string $method Name of the method
         * @param array  $args   Arguments for the method
         *
         * @return mixed Result from method
         * @throws BadMethodCallException When method does not exist on HTTP_Request2
         */
    

    File: /destinations/dropbox/lib/dropbuddy/pear_includes/HTTP/OAuth/Consumer/Response.php

    /**
     * HTTP_OAuth
     *
     * Implementation of the OAuth specification
     *
     * PHP version 5.2.0+
     *
     * LICENSE: This source file is subject to the New BSD license that is
     * available through the world-wide-web at the following URI:
     * http://www.opensource.org/licenses/bsd-license.php. If you did not receive
     * a copy of the New BSD License and are unable to obtain it through the web,
     * please send a note to license@php.net so we can mail you a copy immediately.
     *
     * @category  HTTP
     * @package   HTTP_OAuth
     * @author    Jeff Hodsdon 
     * @copyright 2009 Jeff Hodsdon 
     * @license   http://www.opensource.org/licenses/bsd-license.php New BSD License
     * @link      http://pear.php.net/package/HTTP_OAuth
     * @link      http://github.com/jeffhodsdon/HTTP_OAuth
     */
    
    /**
     * HTTP_OAuth_Consumer_Response
     *
     * Class to handle OAuth responses from a provider.  Accepts and decorates a
     * HTTP_Request2_Response instance
     *
     * @category  HTTP
     * @package   HTTP_OAuth
     * @author    Jeff Hodsdon 
     * @copyright 2009 Jeff Hodsdon 
     * @license   http://www.opensource.org/licenses/bsd-license.php New BSD License
     * @link      http://pear.php.net/package/HTTP_OAuth
     * @link      http://github.com/jeffhodsdon/HTTP_OAuth
     */
    
        /**
         * Instance of HTTP_Request2_Response
         *
         * @var HTTP_Request2_Response $response Response from the HTTP_Request2
         */
    
        /**
         * Construct
         *
         * @param HTTP_Request2_Response $response Response from HTTP_Request2
         *
         * @return void
         */
    
        /**
         * Gets data from body
         *
         * If body is and OAuth specific query string, parse and return
         *
         * @return array Query string data
         */
    
        /**
         * Gets HTTP_Request2_Response
         *
         * @return HTTP_Request2_Response Instance of the current HTTP_Request2_Response
         */
    
        /**
         * Call
         *
         * If method exists on HTTP_Request2_Response pass to that, otherwise
         * throw BadMethodCallException
         *
         * @param string $method Name of the method
         * @param array  $args   Arguments for the method
         *
         * @return mixed Result from method
         * @throws BadMethodCallException When method does not exist on
                                          HTTP_Request2_Response
         */
    

    File: /destinations/dropbox/lib/dropbuddy/pear_includes/HTTP/OAuth/Consumer/Exception/InvalidResponse.php

    /**
     * HTTP_OAuth
     *
     * PHP version 5.2.0+
     *
     * LICENSE: This source file is subject to the New BSD license that is
     * available through the world-wide-web at the following URI:
     * http://www.opensource.org/licenses/bsd-license.php. If you did not receive
     * a copy of the New BSD License and are unable to obtain it through the web,
     * please send a note to license@php.net so we can mail you a copy immediately.
     *
     * @category  HTTP
     * @package   HTTP_OAuth
     * @author    Jeff Hodsdon 
     * @copyright 2009 Jeff Hodsdon 
     * @license   http://www.opensource.org/licenses/bsd-license.php New BSD License
     * @link      http://pear.php.net/package/HTTP_OAuth
     * @link      http://github.com/jeffhodsdon/HTTP_OAuth
     */
    
    /**
     * HTTP_OAuth_Consumer_Exception_InvalidResponse
     *
     * Exception for invalid responses from OAuth providers. Supplies methods
     * to get information about the request
     *
     * @category  HTTP
     * @package   HTTP_OAuth
     * @author    Jeff Hodsdon 
     * @copyright 2009 Jeff Hodsdon 
     * @license   http://www.opensource.org/licenses/bsd-license.php New BSD License
     * @link      http://pear.php.net/package/HTTP_OAuth
     * @link      http://github.com/jeffhodsdon/HTTP_OAuth
     */
    
        /**
         * HTTP_OAuth_Consumer_Response instance
         *
         * @var HTTP_OAuth_Consumer_Response $resonse Invalid response
         */
    
        /**
         * Construct
         *
         * @param string                       $message  Exception message
         * @param HTTP_OAuth_Consumer_Response $response Invalid response
         *
         * @return void
         */
    
        /**
         * Call
         *
         * If method exists on self::$response pass to that, otherwise
         * throw BadMethodCallException
         *
         * @param string $method Name of the method
         * @param array  $args   Arguments for the method
         *
         * @return mixed Result from method
         * @throws BadMethodCallException When method does not exist on
         *                                self::$response
         */
    

    File: /destinations/dropbox/lib/dropbuddy/pear_includes/HTTP/Request2/Adapter.php

    /**
     * Base class for HTTP_Request2 adapters
     *
     * PHP version 5
     *
     * LICENSE:
     *
     * Copyright (c) 2008-2011, Alexey Borzov 
     * All rights reserved.
     *
     * Redistribution and use in source and binary forms, with or without
     * modification, are permitted provided that the following conditions
     * are met:
     *
     *    * Redistributions of source code must retain the above copyright
     *      notice, this list of conditions and the following disclaimer.
     *    * Redistributions in binary form must reproduce the above copyright
     *      notice, this list of conditions and the following disclaimer in the
     *      documentation and/or other materials provided with the distribution.
     *    * The names of the authors may not be used to endorse or promote products
     *      derived from this software without specific prior written permission.
     *
     * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
     * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
     * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
     * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
     * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
     * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
     * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
     * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
     * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
     * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
     * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
     *
     * @category   HTTP
     * @package    HTTP_Request2
     * @author     Alexey Borzov 
     * @license    http://opensource.org/licenses/bsd-license.php New BSD License
     * @version    SVN: $Id: Adapter.php 308322 2011-02-14 13:58:03Z avb $
     * @link       http://pear.php.net/package/HTTP_Request2
     */
    
    /**
     * Class representing a HTTP response
     */
    
    /**
     * Base class for HTTP_Request2 adapters
     *
     * HTTP_Request2 class itself only defines methods for aggregating the request
     * data, all actual work of sending the request to the remote server and
     * receiving its response is performed by adapters.
     *
     * @category   HTTP
     * @package    HTTP_Request2
     * @author     Alexey Borzov 
     * @version    Release: 2.0.0beta1
     */
    
       /**
        * A list of methods that MUST NOT have a request body, per RFC 2616
        * @var  array
        */
    
       /**
        * Methods having defined semantics for request body
        *
        * Content-Length header (indicating that the body follows, section 4.3 of
        * RFC 2616) will be sent for these methods even if no body was added
        *
        * @var  array
        * @link http://pear.php.net/bugs/bug.php?id=12900
        * @link http://pear.php.net/bugs/bug.php?id=14740
        */
    
       /**
        * Request being sent
        * @var  HTTP_Request2
        */
    
       /**
        * Request body
        * @var  string|resource|HTTP_Request2_MultipartBody
        * @see  HTTP_Request2::getBody()
        */
    
       /**
        * Length of the request body
        * @var  integer
        */
    
       /**
        * Sends request to the remote server and returns its response
        *
        * @param    HTTP_Request2
        * @return   HTTP_Request2_Response
        * @throws   HTTP_Request2_Exception
        */
    
       /**
        * Calculates length of the request body, adds proper headers
        *
        * @param    array   associative array of request headers, this method will
        *                   add proper 'Content-Length' and 'Content-Type' headers
        *                   to this array (or remove them if not needed)
        */
    

    File: /destinations/dropbox/lib/dropbuddy/pear_includes/HTTP/Request2/CookieJar.php

    /**
     * Stores cookies and passes them between HTTP requests
     *
     * PHP version 5
     *
     * LICENSE:
     *
     * Copyright (c) 2008-2011, Alexey Borzov 
     * All rights reserved.
     *
     * Redistribution and use in source and binary forms, with or without
     * modification, are permitted provided that the following conditions
     * are met:
     *
     *    * Redistributions of source code must retain the above copyright
     *      notice, this list of conditions and the following disclaimer.
     *    * Redistributions in binary form must reproduce the above copyright
     *      notice, this list of conditions and the following disclaimer in the
     *      documentation and/or other materials provided with the distribution.
     *    * The names of the authors may not be used to endorse or promote products
     *      derived from this software without specific prior written permission.
     *
     * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
     * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
     * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
     * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
     * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
     * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
     * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
     * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
     * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
     * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
     * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
     *
     * @category   HTTP
     * @package    HTTP_Request2
     * @author     Alexey Borzov 
     * @license    http://opensource.org/licenses/bsd-license.php New BSD License
     * @version    SVN: $Id: CookieJar.php 308629 2011-02-24 17:34:24Z avb $
     * @link       http://pear.php.net/package/HTTP_Request2
     */
    
    /** Class representing a HTTP request message */
    
    /**
     * Stores cookies and passes them between HTTP requests
     *
     * @category   HTTP
     * @package    HTTP_Request2
     * @author     Alexey Borzov 
     * @version    Release: @package_version@
     */
    
       /**
        * Array of stored cookies
        *
        * The array is indexed by domain, path and cookie name
        *   .example.com
        *     /
        *       some_cookie => cookie data
        *     /subdir
        *       other_cookie => cookie data
        *   .example.org
        *     ...
        *
        * @var array
        */
    
       /**
        * Whether session cookies should be serialized when serializing the jar
        * @var bool
        */
    
       /**
        * Whether Public Suffix List should be used for domain matching
        * @var bool
        */
    
       /**
        * Array with Public Suffix List data
        * @var  array
        * @link http://publicsuffix.org/
        */
    
       /**
        * Class constructor, sets various options
        *
        * @param bool Controls serializing session cookies, see {@link serializeSessionCookies()}
        * @param bool Controls using Public Suffix List, see {@link usePublicSuffixList()}
        */
    
       /**
        * Returns current time formatted in ISO-8601 at UTC timezone
        *
        * @return string
        */
    
       /**
        * Checks cookie array for correctness, possibly updating its 'domain', 'path' and 'expires' fields
        *
        * The checks are as follows:
        *   - cookie array should contain 'name' and 'value' fields;
        *   - name and value should not contain disallowed symbols;
        *   - 'expires' should be either empty parseable by DateTime;
        *   - 'domain' and 'path' should be either not empty or an URL where
        *     cookie was set should be provided.
        *   - if $setter is provided, then document at that URL should be allowed
        *     to set a cookie for that 'domain'. If $setter is not provided,
        *     then no domain checks will be made.
        *
        * 'expires' field will be converted to ISO8601 format from COOKIE format,
        * 'domain' and 'path' will be set from setter URL if empty.
        *
        * @param    array    cookie data, as returned by {@link HTTP_Request2_Response::getCookies()}
        * @param    Net_URL2 URL of the document that sent Set-Cookie header
        * @return   array    Updated cookie array
        * @throws   HTTP_Request2_LogicException
        * @throws   HTTP_Request2_MessageException
        */
    
       /**
        * Stores a cookie in the jar
        *
        * @param    array    cookie data, as returned by {@link HTTP_Request2_Response::getCookies()}
        * @param    Net_URL2 URL of the document that sent Set-Cookie header
        * @throws   HTTP_Request2_Exception
        */
    
       /**
        * Adds cookies set in HTTP response to the jar
        *
        * @param HTTP_Request2_Response response
        * @param Net_URL2               original request URL, needed for setting
        *                               default domain/path
        */
    
       /**
        * Returns all cookies matching a given request URL
        *
        * The following checks are made:
        *   - cookie domain should match request host
        *   - cookie path should be a prefix for request path
        *   - 'secure' cookies will only be sent for HTTPS requests
        *
        * @param  Net_URL2
        * @param  bool      Whether to return cookies as string for "Cookie: " header
        * @return array
        */
    
       /**
        * Returns all cookies stored in a jar
        *
        * @return array
        */
    
       /**
        * Sets whether session cookies should be serialized when serializing the jar
        *
        * @param    boolean
        */
    
       /**
        * Sets whether Public Suffix List should be used for restricting cookie-setting
        *
        * Without PSL {@link domainMatch()} will only prevent setting cookies for
        * top-level domains like '.com' or '.org'. However, it will not prevent
        * setting a cookie for '.co.uk' even though only third-level registrations
        * are possible in .uk domain.
        *
        * With the List it is possible to find the highest level at which a domain
        * may be registered for a particular top-level domain and consequently
        * prevent cookies set for '.co.uk' or '.msk.ru'. The same list is used by
        * Firefox, Chrome and Opera browsers to restrict cookie setting.
        *
        * Note that PSL is licensed differently to HTTP_Request2 package (refer to
        * the license information in public-suffix-list.php), so you can disable
        * its use if this is an issue for you.
        *
        * @param    boolean
        * @link     http://publicsuffix.org/learn/
        */
    
       /**
        * Returns string representation of object
        *
        * @return string
        * @see    Serializable::serialize()
        */
    
       /**
        * Constructs the object from serialized string
        *
        * @param string  string representation
        * @see   Serializable::unserialize()
        */
    
       /**
        * Checks whether a cookie domain matches a request host.
        *
        * The method is used by {@link store()} to check for whether a document
        * at given URL can set a cookie with a given domain attribute and by
        * {@link getMatching()} to find cookies matching the request URL.
        *
        * @param    string  request host
        * @param    string  cookie domain
        * @return   bool    match success
        */
    
       /**
        * Removes subdomains to get the registered domain (the first after top-level)
        *
        * The method will check Public Suffix List to find out where top-level
        * domain ends and registered domain starts. It will remove domain parts
        * to the left of registered one.
        *
        * @param  string        domain name
        * @return string|bool   registered domain, will return false if $domain is
        *                       either invalid or a TLD itself
        */
    
       /**
        * Recursive helper method for {@link getRegisteredDomain()}
        *
        * @param  array         remaining domain parts
        * @param  mixed         node in {@link HTTP_Request2_CookieJar::$psl} to check
        * @return string|null   concatenated domain parts, null in case of error
        */
    

    File: /destinations/dropbox/lib/dropbuddy/pear_includes/HTTP/Request2/Exception.php

    /**
     * Exception classes for HTTP_Request2 package
     *
     * PHP version 5
     *
     * LICENSE:
     *
     * Copyright (c) 2008-2011, Alexey Borzov 
     * All rights reserved.
     *
     * Redistribution and use in source and binary forms, with or without
     * modification, are permitted provided that the following conditions
     * are met:
     *
     *    * Redistributions of source code must retain the above copyright
     *      notice, this list of conditions and the following disclaimer.
     *    * Redistributions in binary form must reproduce the above copyright
     *      notice, this list of conditions and the following disclaimer in the
     *      documentation and/or other materials provided with the distribution.
     *    * The names of the authors may not be used to endorse or promote products
     *      derived from this software without specific prior written permission.
     *
     * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
     * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
     * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
     * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
     * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
     * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
     * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
     * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
     * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
     * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
     * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
     *
     * @category   HTTP
     * @package    HTTP_Request2
     * @author     Alexey Borzov 
     * @license    http://opensource.org/licenses/bsd-license.php New BSD License
     * @version    SVN: $Id: Exception.php 308629 2011-02-24 17:34:24Z avb $
     * @link       http://pear.php.net/package/HTTP_Request2
     */
    
    /**
     * Base class for exceptions in PEAR
     */
    
    /**
     * Base exception class for HTTP_Request2 package
     *
     * @category   HTTP
     * @package    HTTP_Request2
     * @version    Release: 2.0.0beta1
     * @link       http://pear.php.net/pepr/pepr-proposal-show.php?id=132
     */
    
    	    /** An invalid argument was passed to a method */
    
    	    /** Some required value was not available */
    
    	    /** Request cannot be processed due to errors in PHP configuration */
    
    	    /** Error reading the local file */
    
    	    /** Server returned a response that does not conform to HTTP protocol */
    
    	    /** Failure decoding Content-Encoding or Transfer-Encoding of response */
    
    	    /** Operation timed out */
    
    	    /** Number of redirects exceeded 'max_redirects' configuration parameter */
    
    	    /** Redirect to a protocol other than http(s):// */
    
    	   /**
    	    * Native error code
    	    * @var int
    	    */
    
    	   /**
    	    * Constructor, can set package error code and native error code
    	    *
    	    * @param string exception message
    	    * @param int    package error code, one of class constants
    	    * @param int    error code from underlying PHP extension
    	    */
    
    	   /**
    	    * Returns error code produced by underlying PHP extension
    	    *
    	    * For Socket Adapter this may contain error number returned by
    	    * stream_socket_client(), for Curl Adapter this will contain error number
    	    * returned by curl_errno()
    	    *
    	    * @return integer
    	    */
    
    /**
     * Exception thrown in case of missing features
     *
     * @category   HTTP
     * @package    HTTP_Request2
     * @version    Release: 2.0.0beta1
     */
    

    Class: HTTP_Request2_NotImplementedException extends HTTP_Request2_Exception {

    /**
     * Exception that represents error in the program logic
     *
     * This exception usually implies a programmer's error, like passing invalid
     * data to methods or trying to use PHP extensions that weren't installed or
     * enabled. Usually exceptions of this kind will be thrown before request even
     * starts.
     *
     * The exception will usually contain a package error code.
     *
     * @category   HTTP
     * @package    HTTP_Request2
     * @version    Release: 2.0.0beta1
     */
    

    Class: HTTP_Request2_LogicException extends HTTP_Request2_Exception {

    /**
     * Exception thrown when connection to a web or proxy server fails
     *
     * The exception will not contain a package error code, but will contain
     * native error code, as returned by stream_socket_client() or curl_errno().
     *
     * @category   HTTP
     * @package    HTTP_Request2
     * @version    Release: 2.0.0beta1
     */
    

    Class: HTTP_Request2_ConnectionException extends HTTP_Request2_Exception {

    /**
     * Exception thrown when sending or receiving HTTP message fails
     *
     * The exception may contain both package error code and native error code.
     *
     * @category   HTTP
     * @package    HTTP_Request2
     * @version    Release: 2.0.0beta1
     */
    

    Class: HTTP_Request2_MessageException extends HTTP_Request2_Exception {


    File: /destinations/dropbox/lib/dropbuddy/pear_includes/HTTP/Request2/MultipartBody.php

    /**
     * Helper class for building multipart/form-data request body
     *
     * PHP version 5
     *
     * LICENSE:
     *
     * Copyright (c) 2008-2011, Alexey Borzov 
     * All rights reserved.
     *
     * Redistribution and use in source and binary forms, with or without
     * modification, are permitted provided that the following conditions
     * are met:
     *
     *    * Redistributions of source code must retain the above copyright
     *      notice, this list of conditions and the following disclaimer.
     *    * Redistributions in binary form must reproduce the above copyright
     *      notice, this list of conditions and the following disclaimer in the
     *      documentation and/or other materials provided with the distribution.
     *    * The names of the authors may not be used to endorse or promote products
     *      derived from this software without specific prior written permission.
     *
     * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
     * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
     * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
     * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
     * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
     * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
     * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
     * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
     * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
     * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
     * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
     *
     * @category   HTTP
     * @package    HTTP_Request2
     * @author     Alexey Borzov 
     * @license    http://opensource.org/licenses/bsd-license.php New BSD License
     * @version    SVN: $Id: MultipartBody.php 308322 2011-02-14 13:58:03Z avb $
     * @link       http://pear.php.net/package/HTTP_Request2
     */
    
    /**
     * Class for building multipart/form-data request body
     *
     * The class helps to reduce memory consumption by streaming large file uploads
     * from disk, it also allows monitoring of upload progress (see request #7630)
     *
     * @category   HTTP
     * @package    HTTP_Request2
     * @author     Alexey Borzov 
     * @version    Release: 2.0.0beta1
     * @link       http://tools.ietf.org/html/rfc1867
     */
    
       /**
        * MIME boundary
        * @var  string
        */
    
       /**
        * Form parameters added via {@link HTTP_Request2::addPostParameter()}
        * @var  array
        */
    
       /**
        * File uploads added via {@link HTTP_Request2::addUpload()}
        * @var  array
        */
    
       /**
        * Header for parts with parameters
        * @var  string
        */
    
       /**
        * Header for parts with uploads
        * @var  string
        */
    
       /**
        * Current position in parameter and upload arrays
        *
        * First number is index of "current" part, second number is position within
        * "current" part
        *
        * @var  array
        */
    
       /**
        * Constructor. Sets the arrays with POST data.
        *
        * @param    array   values of form fields set via {@link HTTP_Request2::addPostParameter()}
        * @param    array   file uploads set via {@link HTTP_Request2::addUpload()}
        * @param    bool    whether to append brackets to array variable names
        */
    
       /**
        * Returns the length of the body to use in Content-Length header
        *
        * @return   integer
        */
    
       /**
        * Returns the boundary to use in Content-Type header
        *
        * @return   string
        */
    
       /**
        * Returns next chunk of request body
        *
        * @param    integer Amount of bytes to read
        * @return   string  Up to $length bytes of data, empty string if at end
        */
    
       /**
        * Sets the current position to the start of the body
        *
        * This allows reusing the same body in another request
        */
    
       /**
        * Returns the body as string
        *
        * Note that it reads all file uploads into memory so it is a good idea not
        * to use this method with large file uploads and rely on read() instead.
        *
        * @return   string
        */
    
       /**
        * Helper function to change the (probably multidimensional) associative array
        * into the simple one.
        *
        * @param    string  name for item
        * @param    mixed   item's values
        * @param    bool    whether to append [] to array variables' names
        * @return   array   array with the following items: array('item name', 'item value');
        */
    

    File: /destinations/dropbox/lib/dropbuddy/pear_includes/HTTP/Request2/Response.php

    /**
     * Class representing a HTTP response
     *
     * PHP version 5
     *
     * LICENSE:
     *
     * Copyright (c) 2008-2011, Alexey Borzov 
     * All rights reserved.
     *
     * Redistribution and use in source and binary forms, with or without
     * modification, are permitted provided that the following conditions
     * are met:
     *
     *    * Redistributions of source code must retain the above copyright
     *      notice, this list of conditions and the following disclaimer.
     *    * Redistributions in binary form must reproduce the above copyright
     *      notice, this list of conditions and the following disclaimer in the
     *      documentation and/or other materials provided with the distribution.
     *    * The names of the authors may not be used to endorse or promote products
     *      derived from this software without specific prior written permission.
     *
     * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
     * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
     * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
     * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
     * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
     * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
     * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
     * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
     * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
     * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
     * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
     *
     * @category   HTTP
     * @package    HTTP_Request2
     * @author     Alexey Borzov 
     * @license    http://opensource.org/licenses/bsd-license.php New BSD License
     * @version    SVN: $Id: Response.php 308629 2011-02-24 17:34:24Z avb $
     * @link       http://pear.php.net/package/HTTP_Request2
     */
    
    /**
     * Exception class for HTTP_Request2 package
     */
    
    /**
     * Class representing a HTTP response
     *
     * The class is designed to be used in "streaming" scenario, building the
     * response as it is being received:
     * 
     * $statusLine = read_status_line();
     * $response = new HTTP_Request2_Response($statusLine);
     * do {
     *     $headerLine = read_header_line();
     *     $response->parseHeaderLine($headerLine);
     * } while ($headerLine != '');
     *
     * while ($chunk = read_body()) {
     *     $response->appendBody($chunk);
     * }
     *
     * var_dump($response->getHeader(), $response->getCookies(), $response->getBody());
     * 
     *
     *
     * @category   HTTP
     * @package    HTTP_Request2
     * @author     Alexey Borzov 
     * @version    Release: 2.0.0beta1
     * @link       http://tools.ietf.org/html/rfc2616#section-6
     */
    
       /**
        * HTTP protocol version (e.g. 1.0, 1.1)
        * @var  string
        */
    
       /**
        * Status code
        * @var  integer
        * @link http://tools.ietf.org/html/rfc2616#section-6.1.1
        */
    
       /**
        * Reason phrase
        * @var  string
        * @link http://tools.ietf.org/html/rfc2616#section-6.1.1
        */
    
       /**
        * Associative array of response headers
        * @var  array
        */
    
       /**
        * Cookies set in the response
        * @var  array
        */
    
       /**
        * Name of last header processed by parseHederLine()
        *
        * Used to handle the headers that span multiple lines
        *
        * @var  string
        */
    
       /**
        * Response body
        * @var  string
        */
    
       /**
        * Whether the body is still encoded by Content-Encoding
        *
        * cURL provides the decoded body to the callback; if we are reading from
        * socket the body is still gzipped / deflated
        *
        * @var  bool
        */
    
       /**
        * Associative array of HTTP status code / reason phrase.
        *
        * @var  array
        * @link http://tools.ietf.org/html/rfc2616#section-10
        */
    
       /**
        * Constructor, parses the response status line
        *
        * @param    string  Response status line (e.g. "HTTP/1.1 200 OK")
        * @param    bool    Whether body is still encoded by Content-Encoding
        * @throws   HTTP_Request2_MessageException if status line is invalid according to spec
        */
    
       /**
        * Parses the line from HTTP response filling $headers array
        *
        * The method should be called after reading the line from socket or receiving
        * it into cURL callback. Passing an empty string here indicates the end of
        * response headers and triggers additional processing, so be sure to pass an
        * empty string in the end.
        *
        * @param    string  Line from HTTP response
        */
    
       /**
        * Parses a Set-Cookie header to fill $cookies array
        *
        * @param    string    value of Set-Cookie header
        * @link     http://web.archive.org/web/20080331104521/http://cgi.netscape.com/newsref/std/cookie_spec.html
        */
    
       /**
        * Appends a string to the response body
        * @param    string
        */
    
       /**
        * Returns the status code
        * @return   integer
        */
    
       /**
        * Returns the reason phrase
        * @return   string
        */
    
       /**
        * Whether response is a redirect that can be automatically handled by HTTP_Request2
        * @return   bool
        */
    
       /**
        * Returns either the named header or all response headers
        *
        * @param    string          Name of header to return
        * @return   string|array    Value of $headerName header (null if header is
        *                           not present), array of all response headers if
        *                           $headerName is null
        */
    
       /**
        * Returns cookies set in response
        *
        * @return   array
        */
    
       /**
        * Returns the body of the response
        *
        * @return   string
        * @throws   HTTP_Request2_Exception if body cannot be decoded
        */
    
       /**
        * Get the HTTP version of the response
        *
        * @return   string
        */
    
       /**
        * Decodes the message-body encoded by gzip
        *
        * The real decoding work is done by gzinflate() built-in function, this
        * method only parses the header and checks data for compliance with
        * RFC 1952
        *
        * @param    string  gzip-encoded data
        * @return   string  decoded data
        * @throws   HTTP_Request2_LogicException
        * @throws   HTTP_Request2_MessageException
        * @link     http://tools.ietf.org/html/rfc1952
        */
    
       /**
        * Decodes the message-body encoded by deflate
        *
        * @param    string  deflate-encoded data
        * @return   string  decoded data
        * @throws   HTTP_Request2_LogicException
        */
    

    File: /destinations/dropbox/lib/dropbuddy/pear_includes/HTTP/Request2/Observer/Log.php

    /**
     * An observer useful for debugging / testing.
     *
     * PHP version 5
     *
     * LICENSE:
     *
     * Copyright (c) 2008-2011, Alexey Borzov 
     * All rights reserved.
     *
     * Redistribution and use in source and binary forms, with or without
     * modification, are permitted provided that the following conditions
     * are met:
     *
     *    * Redistributions of source code must retain the above copyright
     *      notice, this list of conditions and the following disclaimer.
     *    * Redistributions in binary form must reproduce the above copyright
     *      notice, this list of conditions and the following disclaimer in the
     *      documentation and/or other materials provided with the distribution.
     *    * The names of the authors may not be used to endorse or promote products
     *      derived from this software without specific prior written permission.
     *
     * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
     * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
     * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
     * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
     * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
     * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
     * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
     * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
     * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
     * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
     * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
     *
     * @category HTTP
     * @package  HTTP_Request2
     * @author   David Jean Louis 
     * @author   Alexey Borzov 
     * @license  http://opensource.org/licenses/bsd-license.php New BSD License
     * @version  SVN: $Id: Log.php 308680 2011-02-25 17:40:17Z avb $
     * @link     http://pear.php.net/package/HTTP_Request2
     */
    
    /**
     * Exception class for HTTP_Request2 package
     */
    
    /**
     * A debug observer useful for debugging / testing.
     *
     * This observer logs to a log target data corresponding to the various request
     * and response events, it logs by default to php://output but can be configured
     * to log to a file or via the PEAR Log package.
     *
     * A simple example:
     * 
     * require_once 'HTTP/Request2.php';
     * require_once 'HTTP/Request2/Observer/Log.php';
     *
     * $request  = new HTTP_Request2('http://www.example.com');
     * $observer = new HTTP_Request2_Observer_Log();
     * $request->attach($observer);
     * $request->send();
     * 
     *
     * A more complex example with PEAR Log:
     * 
     * require_once 'HTTP/Request2.php';
     * require_once 'HTTP/Request2/Observer/Log.php';
     * require_once 'Log.php';
     *
     * $request  = new HTTP_Request2('http://www.example.com');
     * // we want to log with PEAR log
     * $observer = new HTTP_Request2_Observer_Log(Log::factory('console'));
     *
     * // we only want to log received headers
     * $observer->events = array('receivedHeaders');
     *
     * $request->attach($observer);
     * $request->send();
     * 
     *
     * @category HTTP
     * @package  HTTP_Request2
     * @author   David Jean Louis 
     * @author   Alexey Borzov 
     * @license  http://opensource.org/licenses/bsd-license.php New BSD License
     * @version  Release: 2.0.0beta1
     * @link     http://pear.php.net/package/HTTP_Request2
     */
    
        /**
         * The log target, it can be a a resource or a PEAR Log instance.
         *
         * @var resource|Log $target
         */
    
        /**
         * The events to log.
         *
         * @var array $events
         */
    
        /**
         * Constructor.
         *
         * @param mixed $target Can be a file path (default: php://output), a resource,
         *                      or an instance of the PEAR Log class.
         * @param array $events Array of events to listen to (default: all events)
         *
         * @return void
         */
    
        /**
         * Called when the request notifies us of an event.
         *
         * @param HTTP_Request2 $subject The HTTP_Request2 instance
         *
         * @return void
         */
    
        /**
         * Logs the given message to the configured target.
         *
         * @param string $message Message to display
         *
         * @return void
         */
    

    File: /destinations/dropbox/lib/dropbuddy/pear_includes/HTTP/Request2/Adapter/Curl.php

    /**
     * Adapter for HTTP_Request2 wrapping around cURL extension
     *
     * PHP version 5
     *
     * LICENSE:
     *
     * Copyright (c) 2008-2011, Alexey Borzov 
     * All rights reserved.
     *
     * Redistribution and use in source and binary forms, with or without
     * modification, are permitted provided that the following conditions
     * are met:
     *
     *    * Redistributions of source code must retain the above copyright
     *      notice, this list of conditions and the following disclaimer.
     *    * Redistributions in binary form must reproduce the above copyright
     *      notice, this list of conditions and the following disclaimer in the
     *      documentation and/or other materials provided with the distribution.
     *    * The names of the authors may not be used to endorse or promote products
     *      derived from this software without specific prior written permission.
     *
     * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
     * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
     * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
     * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
     * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
     * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
     * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
     * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
     * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
     * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
     * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
     *
     * @category   HTTP
     * @package    HTTP_Request2
     * @author     Alexey Borzov 
     * @license    http://opensource.org/licenses/bsd-license.php New BSD License
     * @version    SVN: $Id: Curl.php 308680 2011-02-25 17:40:17Z avb $
     * @link       http://pear.php.net/package/HTTP_Request2
     */
    
    /**
     * Base class for HTTP_Request2 adapters
     */
    
    /**
     * Adapter for HTTP_Request2 wrapping around cURL extension
     *
     * @category    HTTP
     * @package     HTTP_Request2
     * @author      Alexey Borzov 
     * @version     Release: 2.0.0beta1
     */
    
       /**
        * Mapping of header names to cURL options
        * @var  array
        */
    
       /**
        * Mapping of SSL context options to cURL options
        * @var  array
        */
    
       /**
        * Mapping of CURLE_* constants to Exception subclasses and error codes
        * @var  array
        */
    
       /**
        * Response being received
        * @var  HTTP_Request2_Response
        */
    
       /**
        * Whether 'sentHeaders' event was sent to observers
        * @var  boolean
        */
    
       /**
        * Whether 'receivedHeaders' event was sent to observers
        * @var boolean
        */
    
       /**
        * Position within request body
        * @var  integer
        * @see  callbackReadBody()
        */
    
       /**
        * Information about last transfer, as returned by curl_getinfo()
        * @var  array
        */
    
       /**
        * Creates a subclass of HTTP_Request2_Exception from curl error data
        *
        * @param resource curl handle
        * @return HTTP_Request2_Exception
        */
    
       /**
        * Sends request to the remote server and returns its response
        *
        * @param    HTTP_Request2
        * @return   HTTP_Request2_Response
        * @throws   HTTP_Request2_Exception
        */
    
       /**
        * Returns information about last transfer
        *
        * @return   array   associative array as returned by curl_getinfo()
        */
    
       /**
        * Creates a new cURL handle and populates it with data from the request
        *
        * @return   resource    a cURL handle, as created by curl_init()
        * @throws   HTTP_Request2_LogicException
        */
    
       /**
        * Workaround for PHP bug #47204 that prevents rewinding request body
        *
        * The workaround consists of reading the entire request body into memory
        * and setting it as CURLOPT_POSTFIELDS, so it isn't recommended for large
        * file uploads, use Socket adapter instead.
        *
        * @param    resource    cURL handle
        * @param    array       Request headers
        */
    
       /**
        * Callback function called by cURL for reading the request body
        *
        * @param    resource    cURL handle
        * @param    resource    file descriptor (not used)
        * @param    integer     maximum length of data to return
        * @return   string      part of the request body, up to $length bytes
        */
    
       /**
        * Callback function called by cURL for saving the response headers
        *
        * @param    resource    cURL handle
        * @param    string      response header (with trailing CRLF)
        * @return   integer     number of bytes saved
        * @see      HTTP_Request2_Response::parseHeaderLine()
        */
    
       /**
        * Callback function called by cURL for saving the response body
        *
        * @param    resource    cURL handle (not used)
        * @param    string      part of the response body
        * @return   integer     number of bytes saved
        * @see      HTTP_Request2_Response::appendBody()
        */
    

    File: /destinations/dropbox/lib/dropbuddy/pear_includes/HTTP/Request2/Adapter/Mock.php

    /**
     * Mock adapter intended for testing
     *
     * PHP version 5
     *
     * LICENSE:
     *
     * Copyright (c) 2008-2011, Alexey Borzov 
     * All rights reserved.
     *
     * Redistribution and use in source and binary forms, with or without
     * modification, are permitted provided that the following conditions
     * are met:
     *
     *    * Redistributions of source code must retain the above copyright
     *      notice, this list of conditions and the following disclaimer.
     *    * Redistributions in binary form must reproduce the above copyright
     *      notice, this list of conditions and the following disclaimer in the
     *      documentation and/or other materials provided with the distribution.
     *    * The names of the authors may not be used to endorse or promote products
     *      derived from this software without specific prior written permission.
     *
     * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
     * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
     * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
     * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
     * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
     * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
     * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
     * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
     * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
     * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
     * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
     *
     * @category   HTTP
     * @package    HTTP_Request2
     * @author     Alexey Borzov 
     * @license    http://opensource.org/licenses/bsd-license.php New BSD License
     * @version    SVN: $Id: Mock.php 308322 2011-02-14 13:58:03Z avb $
     * @link       http://pear.php.net/package/HTTP_Request2
     */
    
    /**
     * Base class for HTTP_Request2 adapters
     */
    
    /**
     * Mock adapter intended for testing
     *
     * Can be used to test applications depending on HTTP_Request2 package without
     * actually performing any HTTP requests. This adapter will return responses
     * previously added via addResponse()
     * 
     * $mock = new HTTP_Request2_Adapter_Mock();
     * $mock->addResponse("HTTP/1.1 ... ");
     *
     * $request = new HTTP_Request2();
     * $request->setAdapter($mock);
     *
     * // This will return the response set above
     * $response = $req->send();
     * 
     *
     * @category   HTTP
     * @package    HTTP_Request2
     * @author     Alexey Borzov 
     * @version    Release: 2.0.0beta1
     */
    
       /**
        * A queue of responses to be returned by sendRequest()
        * @var  array
        */
    
       /**
        * Returns the next response from the queue built by addResponse()
        *
        * If the queue is empty it will return default empty response with status 400,
        * if an Exception object was added to the queue it will be thrown.
        *
        * @param    HTTP_Request2
        * @return   HTTP_Request2_Response
        * @throws   Exception
        */
    
       /**
        * Adds response to the queue
        *
        * @param    mixed   either a string, a pointer to an open file,
        *                   an instance of HTTP_Request2_Response or Exception
        * @throws   HTTP_Request2_Exception
        */
    
       /**
        * Creates a new HTTP_Request2_Response object from a string
        *
        * @param    string
        * @return   HTTP_Request2_Response
        * @throws   HTTP_Request2_Exception
        */
    
       /**
        * Creates a new HTTP_Request2_Response object from a file
        *
        * @param    resource    file pointer returned by fopen()
        * @return   HTTP_Request2_Response
        * @throws   HTTP_Request2_Exception
        */
    

    File: /destinations/dropbox/lib/dropbuddy/pear_includes/HTTP/Request2/Adapter/Socket.php

    /**
     * Socket-based adapter for HTTP_Request2
     *
     * PHP version 5
     *
     * LICENSE:
     *
     * Copyright (c) 2008-2011, Alexey Borzov 
     * All rights reserved.
     *
     * Redistribution and use in source and binary forms, with or without
     * modification, are permitted provided that the following conditions
     * are met:
     *
     *    * Redistributions of source code must retain the above copyright
     *      notice, this list of conditions and the following disclaimer.
     *    * Redistributions in binary form must reproduce the above copyright
     *      notice, this list of conditions and the following disclaimer in the
     *      documentation and/or other materials provided with the distribution.
     *    * The names of the authors may not be used to endorse or promote products
     *      derived from this software without specific prior written permission.
     *
     * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
     * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
     * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
     * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
     * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
     * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
     * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
     * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
     * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
     * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
     * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
     *
     * @category   HTTP
     * @package    HTTP_Request2
     * @author     Alexey Borzov 
     * @license    http://opensource.org/licenses/bsd-license.php New BSD License
     * @version    SVN: $Id: Socket.php 308681 2011-02-25 18:34:03Z avb $
     * @link       http://pear.php.net/package/HTTP_Request2
     */
    
    /**
     * Base class for HTTP_Request2 adapters
     */
    
    /**
     * Socket-based adapter for HTTP_Request2
     *
     * This adapter uses only PHP sockets and will work on almost any PHP
     * environment. Code is based on original HTTP_Request PEAR package.
     *
     * @category    HTTP
     * @package     HTTP_Request2
     * @author      Alexey Borzov 
     * @version     Release: 2.0.0beta1
     */
    
       /**
        * Regular expression for 'token' rule from RFC 2616
        */
    
       /**
        * Regular expression for 'quoted-string' rule from RFC 2616
        */
    
       /**
        * Connected sockets, needed for Keep-Alive support
        * @var  array
        * @see  connect()
        */
    
       /**
        * Data for digest authentication scheme
        *
        * The keys for the array are URL prefixes.
        *
        * The values are associative arrays with data (realm, nonce, nonce-count,
        * opaque...) needed for digest authentication. Stored here to prevent making
        * duplicate requests to digest-protected resources after we have already
        * received the challenge.
        *
        * @var  array
        */
    
       /**
        * Connected socket
        * @var  resource
        * @see  connect()
        */
    
       /**
        * Challenge used for server digest authentication
        * @var  array
        */
    
       /**
        * Challenge used for proxy digest authentication
        * @var  array
        */
    
       /**
        * Sum of start time and global timeout, exception will be thrown if request continues past this time
        * @var  integer
        */
    
       /**
        * Remaining length of the current chunk, when reading chunked response
        * @var  integer
        * @see  readChunked()
        */
    
       /**
        * Remaining amount of redirections to follow
        *
        * Starts at 'max_redirects' configuration parameter and is reduced on each
        * subsequent redirect. An Exception will be thrown once it reaches zero.
        *
        * @var  integer
        */
    
       /**
        * Sends request to the remote server and returns its response
        *
        * @param    HTTP_Request2
        * @return   HTTP_Request2_Response
        * @throws   HTTP_Request2_Exception
        */
    
       /**
        * Connects to the remote server
        *
        * @return   bool    whether the connection can be persistent
        * @throws   HTTP_Request2_Exception
        */
    
       /**
        * Establishes a tunnel to a secure remote server via HTTP CONNECT request
        *
        * This method will fail if 'ssl_verify_peer' is enabled. Probably because PHP
        * sees that we are connected to a proxy server (duh!) rather than the server
        * that presents its certificate.
        *
        * @link     http://tools.ietf.org/html/rfc2817#section-5.2
        * @throws   HTTP_Request2_Exception
        */
    
       /**
        * Checks whether current connection may be reused or should be closed
        *
        * @param    boolean                 whether connection could be persistent
        *                                   in the first place
        * @param    HTTP_Request2_Response  response object to check
        * @return   boolean
        */
    
       /**
        * Disconnects from the remote server
        */
    
       /**
        * Handles HTTP redirection
        *
        * This method will throw an Exception if redirect to a non-HTTP(S) location
        * is attempted, also if number of redirects performed already is equal to
        * 'max_redirects' configuration parameter.
        *
        * @param    HTTP_Request2               Original request
        * @param    HTTP_Request2_Response      Response containing redirect
        * @return   HTTP_Request2_Response      Response from a new location
        * @throws   HTTP_Request2_Exception
        */
    
       /**
        * Checks whether another request should be performed with server digest auth
        *
        * Several conditions should be satisfied for it to return true:
        *   - response status should be 401
        *   - auth credentials should be set in the request object
        *   - response should contain WWW-Authenticate header with digest challenge
        *   - there is either no challenge stored for this URL or new challenge
        *     contains stale=true parameter (in other case we probably just failed
        *     due to invalid username / password)
        *
        * The method stores challenge values in $challenges static property
        *
        * @param    HTTP_Request2_Response  response to check
        * @return   boolean whether another request should be performed
        * @throws   HTTP_Request2_Exception in case of unsupported challenge parameters
        */
    
       /**
        * Checks whether another request should be performed with proxy digest auth
        *
        * Several conditions should be satisfied for it to return true:
        *   - response status should be 407
        *   - proxy auth credentials should be set in the request object
        *   - response should contain Proxy-Authenticate header with digest challenge
        *   - there is either no challenge stored for this proxy or new challenge
        *     contains stale=true parameter (in other case we probably just failed
        *     due to invalid username / password)
        *
        * The method stores challenge values in $challenges static property
        *
        * @param    HTTP_Request2_Response  response to check
        * @return   boolean whether another request should be performed
        * @throws   HTTP_Request2_Exception in case of unsupported challenge parameters
        */
    
       /**
        * Extracts digest method challenge from (WWW|Proxy)-Authenticate header value
        *
        * There is a problem with implementation of RFC 2617: several of the parameters
        * are defined as quoted-string there and thus may contain backslash escaped
        * double quotes (RFC 2616, section 2.2). However, RFC 2617 defines unq(X) as
        * just value of quoted-string X without surrounding quotes, it doesn't speak
        * about removing backslash escaping.
        *
        * Now realm parameter is user-defined and human-readable, strange things
        * happen when it contains quotes:
        *   - Apache allows quotes in realm, but apparently uses realm value without
        *     backslashes for digest computation
        *   - Squid allows (manually escaped) quotes there, but it is impossible to
        *     authorize with either escaped or unescaped quotes used in digest,
        *     probably it can't parse the response (?)
        *   - Both IE and Firefox display realm value with backslashes in
        *     the password popup and apparently use the same value for digest
        *
        * HTTP_Request2 follows IE and Firefox (and hopefully RFC 2617) in
        * quoted-string handling, unfortunately that means failure to authorize
        * sometimes
        *
        * @param    string  value of WWW-Authenticate or Proxy-Authenticate header
        * @return   mixed   associative array with challenge parameters, false if
        *                   no challenge is present in header value
        * @throws   HTTP_Request2_NotImplementedException in case of unsupported challenge parameters
        */
    
       /**
        * Parses [Proxy-]Authentication-Info header value and updates challenge
        *
        * @param    array   challenge to update
        * @param    string  value of [Proxy-]Authentication-Info header
        * @todo     validate server rspauth response
        */
    
       /**
        * Creates a value for [Proxy-]Authorization header when using digest authentication
        *
        * @param    string  user name
        * @param    string  password
        * @param    string  request URL
        * @param    array   digest challenge parameters
        * @return   string  value of [Proxy-]Authorization request header
        * @link     http://tools.ietf.org/html/rfc2617#section-3.2.2
        */
    
       /**
        * Adds 'Authorization' header (if needed) to request headers array
        *
        * @param    array   request headers
        * @param    string  request host (needed for digest authentication)
        * @param    string  request URL (needed for digest authentication)
        * @throws   HTTP_Request2_NotImplementedException
        */
    
       /**
        * Adds 'Proxy-Authorization' header (if needed) to request headers array
        *
        * @param    array   request headers
        * @param    string  request URL (needed for digest authentication)
        * @throws   HTTP_Request2_NotImplementedException
        */
    
       /**
        * Creates the string with the Request-Line and request headers
        *
        * @return   string
        * @throws   HTTP_Request2_Exception
        */
    
       /**
        * Sends the request body
        *
        * @throws   HTTP_Request2_MessageException
        */
    
       /**
        * Reads the remote server's response
        *
        * @return   HTTP_Request2_Response
        * @throws   HTTP_Request2_Exception
        */
    
       /**
        * Reads until either the end of the socket or a newline, whichever comes first
        *
        * Strips the trailing newline from the returned data, handles global
        * request timeout. Method idea borrowed from Net_Socket PEAR package.
        *
        * @param    int     buffer size to use for reading
        * @return   Available data up to the newline (not including newline)
        * @throws   HTTP_Request2_MessageException     In case of timeout
        */
    
       /**
        * Wrapper around fread(), handles global request timeout
        *
        * @param    int     Reads up to this number of bytes
        * @return   Data read from socket
        * @throws   HTTP_Request2_MessageException     In case of timeout
        */
    
       /**
        * Reads a part of response body encoded with chunked Transfer-Encoding
        *
        * @param    int     buffer size to use for reading
        * @return   string
        * @throws   HTTP_Request2_MessageException
        */
    

    File: /destinations/dropbox/lib/dropbuddy/dropbox_api/API.php

    /**
     * Dropbox API class 
     * 
     * @package Dropbox 
     * @copyright Copyright (C) 2010 Rooftop Solutions. All rights reserved.
     * @author Evert Pot (http://www.rooftopsolutions.nl/) 
     * @license http://code.google.com/p/dropbox-php/wiki/License MIT
     */
    

    Class: Dropbox_API

        /**
         * Sandbox root-path
         */
    
        /**
         * Dropbox root-path
         */
    
        /**
         * API URl
         */
    
        /**
         * Content API URl
         */
    
        /**
         * OAuth object 
         * 
         * @var Dropbox_OAuth
         */
    
        /**
         * Default root-path, this will most likely be 'sandbox' or 'dropbox' 
         * 
         * @var string 
         */
    
        /**
         * Constructor 
         * 
         * @param Dropbox_OAuth Dropbox_Auth object
         * @param string $root default root path (sandbox or dropbox) 
         */
    
        /**
         * Returns information about the current dropbox account 
         * 
         * @return stdclass 
         */
    
        /**
         * Returns a file's contents 
         * 
         * @param string $path path 
         * @param string $root Use this to override the default root path (sandbox/dropbox) 
         * @return string 
         */
    
        /**
         * Uploads a new file
         *
         * @param string $path Target path (including filename) 
         * @param string $file Either a path to a file or a stream resource 
         * @param string $root Use this to override the default root path (sandbox/dropbox)  
         * @return bool 
         */
    
        /**
         * Copies a file or directory from one location to another 
         *
         * This method returns the file information of the newly created file.
         *
         * @param string $from source path 
         * @param string $to destination path 
         * @param string $root Use this to override the default root path (sandbox/dropbox)  
         * @return stdclass 
         */
    
        /**
         * Creates a new folder 
         *
         * This method returns the information from the newly created directory
         *
         * @param string $path 
         * @param string $root Use this to override the default root path (sandbox/dropbox)  
         * @return stdclass 
         */
    
        /**
         * Deletes a file or folder.
         *
         * This method will return the metadata information from the deleted file or folder, if successful.
         * 
         * @param string $path Path to new folder 
         * @param string $root Use this to override the default root path (sandbox/dropbox)  
         * @return array 
         */
    
        /**
         * Moves a file or directory to a new location 
         *
         * This method returns the information from the newly created directory
         *
         * @param mixed $from Source path 
         * @param mixed $to destination path
         * @param string $root Use this to override the default root path (sandbox/dropbox) 
         * @return stdclass 
         */
    
        /**
         * Returns file and directory information
         * 
         * @param string $path Path to receive information from 
         * @param bool $list When set to true, this method returns information from all files in a directory. When set to false it will only return infromation from the specified directory.
         * @param string $hash If a hash is supplied, this method simply returns true if nothing has changed since the last request. Good for caching.
         * @param int $fileLimit Maximum number of file-information to receive 
         * @param string $root Use this to override the default root path (sandbox/dropbox) 
         * @return array|true 
         */
    
            /* 304 is not modified */
    
        /**
        * A way of letting you keep up with changes to files and folders in a user's Dropbox. You can periodically call /delta to get a list of "delta entries", which are instructions on how to update your local state to match the server's state.
        *
        * This method returns the information from the newly created directory
        *
        * @param string $cursor A string that is used to keep track of your current state. On the next call pass in this value to return delta entries that have been recorded since the cursor was returned.
        * @return stdclass
        */
    
        /**
         * Returns a thumbnail (as a string) for a file path. 
         * 
         * @param string $path Path to file 
         * @param string $size small, medium or large 
         * @param string $root Use this to override the default root path (sandbox/dropbox)  
         * @return string 
         */
    
        /**
         * This method is used to generate multipart POST requests for file upload 
         * 
         * @param string $uri 
         * @param array $arguments 
         * @return bool 
         */
    
            /* random string */
    
    	/**
         * Search
         *
         * Returns metadata for all files and folders that match the search query.
         *
    	 * @added by: diszo.sasil 
    	 *
         * @param string $query	 
         * @param string $root Use this to override the default root path (sandbox/dropbox)
    	 * @param string $path
         * @return array
         */
    
        /**
         * Creates and returns a shareable link to files or folders.
         * 
         * Note: Links created by the /shares API call expire after thirty days.
         * 
         * @param type $path
         * @param type $root
         * @return type 
         */
    
        /**
        * Returns a link directly to a file.
        * Similar to /shares. The difference is that this bypasses the Dropbox webserver, used to provide a preview of the file, so that you can effectively stream the contents of your media.
        *
        * Note: The /media link expires after four hours, allotting enough time to stream files, but not enough to leave a connection open indefinitely.
        *
        * @param type $path
        * @param type $root
        * @return type
        */
    
        /**
        * Creates and returns a copy_ref to a file. This reference string can be used to copy that file to another user's Dropbox by passing it in as the from_copy_ref parameter on /fileops/copy.
        *
        * @param type $path
        * @param type $root
        * @return type
        */
    

    File: /destinations/dropbox/lib/dropbuddy/dropbox_api/Exception.php

    /**
     * Dropbox base exception 
     * 
     * @package Dropbox 
     * @copyright Copyright (C) 2010 Rooftop Solutions. All rights reserved.
     * @author Evert Pot (http://www.rooftopsolutions.nl/) 
     * @license http://code.google.com/p/dropbox-php/wiki/License MIT
     */
    
    /**
     * Base exception class
     */
    

    Class: Dropbox_Exception extends Exception {


    File: /destinations/dropbox/lib/dropbuddy/dropbox_api/OAuth.php

    /**
     * Dropbox OAuth
     * 
     * @package Dropbox 
     * @copyright Copyright (C) 2010 Rooftop Solutions. All rights reserved.
     * @author Evert Pot (http://www.rooftopsolutions.nl/) 
     * @license http://code.google.com/p/dropbox-php/wiki/License MIT
     */
    
    /**
     * This class is an abstract OAuth class.
     *
     * It must be extended by classes who wish to provide OAuth functionality
     * using different libraries.
     */
    

    Class: Dropbox_OAuth

        /**
         * After a user has authorized access, dropbox can redirect the user back
         * to this url.
         * 
         * @var string
         */
    
        /**
         * Uri used to fetch request tokens 
         * 
         * @var string
         */
    
        /**
         * Uri used to redirect the user to for authorization.
         * 
         * @var string
         */
    
        /**
         * Uri used to 
         * 
         * @var string
         */
    
        /**
         * An OAuth request token. 
         * 
         * @var string 
         */
    
        /**
         * OAuth token secret 
         * 
         * @var string 
         */
    
        /**
         * Constructor
         * 
         * @param string $consumerKey 
         * @param string $consumerSecret 
         */
    
        /**
         * Sets the request token and secret.
         *
         * The tokens can also be passed as an array into the first argument.
         * The array must have the elements token and token_secret.
         * 
         * @param string|array $token 
         * @param string $token_secret 
         * @return void
         */
    
        /**
         * Returns the oauth request tokens as an associative array.
         *
         * The array will contain the elements 'token' and 'token_secret'.
         * 
         * @return array 
         */
    
        /**
         * Returns the authorization url
         * 
         * @param string $callBack Specify a callback url to automatically redirect the user back 
         * @return string 
         */
    
        /**
         * Fetches a secured oauth url and returns the response body. 
         * 
         * @param string $uri 
         * @param mixed $arguments 
         * @param string $method 
         * @param array $httpHeaders 
         * @return string 
         */
    
        /**
         * Requests the OAuth request token.
         * 
         * @return array 
         */
    
        /**
         * Requests the OAuth access tokens.
         *
         * @return array
         */
    

    File: /destinations/dropbox/lib/dropbuddy/dropbox_api/autoload.php

    /**
     * This file registers a new autoload function using spl_autoload_register. 
     *
     * @package Dropbox 
     * @copyright Copyright (C) 2010 Rooftop Solutions. All rights reserved.
     * @author Evert Pot (http://www.rooftopsolutions.nl/) 
     * @license http://code.google.com/p/dropbox-php/wiki/License MIT
     */
    
    /**
     * Autoloader function
     *
     * @param $className string
     * @return void
     */
    

    File: /destinations/dropbox/lib/dropbuddy/dropbox_api/OAuth/Curl.php

    /**
     * Dropbox OAuth
     * 
     * @package Dropbox 
     * @copyright Copyright (C) 2011 Daniel Huesken
     * @author Daniel Huesken (http://www.danielhuesken.de/)
     * @license MIT
     */
    
    /**
     * This class is used to sign all requests to dropbox.
     *
     * This specific class uses WordPress WP_Http to authenticate.
     */
    

    Class: Dropbox_OAuth_Curl extends Dropbox_OAuth

        /**
         *
         * @var string ConsumerKey
         */
    
        /**
         *
         * @var string ConsumerSecret
         */
    
        /**
         *
         * @var string ProzessCallBack
         */
    
        /**
         * Constructor
         * 
         * @param string $consumerKey 
         * @param string $consumerSecret 
         */
    
        /**
         * Fetches a secured oauth url and returns the response body. 
         * 
         * @param string $uri 
         * @param mixed $arguments 
         * @param string $method 
         * @param array $httpHeaders 
         * @return string 
         */
    
        /**
         * Returns named array with oauth parameters for further use
         * @return array Array with oauth_ parameters
         */
    
        /**
         * Creates valid Authorization header for OAuth, based on URI and Params
         *
         * @param string $uri
         * @param array $params
         * @param string $method GET or POST, standard is GET
         * @param array $oAuthParams optional, pass your own oauth_params here
         * @return array Array for request's headers section like
         * array('Authorization' => 'OAuth ...');
         */
    
        /**
         * Requests the OAuth request token.
         *
         * @return void 
         */
    
        /**
         * Requests the OAuth access tokens.
         *
         * This method requires the 'unauthorized' request tokens
         * and, if successful will set the authorized request tokens.
         * 
         * @return void 
         */
    
        /**
         * Helper function to properly urlencode parameters.
         * See http://php.net/manual/en/function.oauth-urlencode.php
         *
         * @param string $string
         * @return string
         */
    
        /**
         * Hash function for hmac_sha1; uses native function if available.
         *
         * @param string $key
         * @param string $data
         * @return string
         */
    

    File: /destinations/dropbox/lib/dropbuddy/dropbox_api/OAuth/PEAR.php

    /**
     * Dropbox OAuth
     * 
     * @package Dropbox 
     * @copyright Copyright (C) 2010 Rooftop Solutions. All rights reserved.
     * @author Evert Pot (http://www.rooftopsolutions.nl/) 
     * @license http://code.google.com/p/dropbox-php/wiki/License MIT
     */
    
    /**
     * This class is used to sign all requests to dropbox
     * 
     * This classes use the PEAR HTTP_OAuth package. Make sure this is installed.
     */
    

    Class: Dropbox_OAuth_PEAR extends Dropbox_OAuth

        /**
         * OAuth object
         *
         * @var OAuth
         */
    
        /**
         * OAuth consumer key
         * 
         * We need to keep this around for later. 
         * 
         * @var string 
         */
    
        /**
         * Constructor
         * 
         * @param string $consumerKey 
         * @param string $consumerSecret 
         */
    
        /**
         * Sets the request token and secret.
         *
         * The tokens can also be passed as an array into the first argument.
         * The array must have the elements token and token_secret.
         * 
         * @param string|array $token 
         * @param string $token_secret 
         * @return void
         */
    
        /**
         * Fetches a secured oauth url and returns the response body. 
         * 
         * @param string $uri 
         * @param mixed $arguments 
         * @param string $method 
         * @param array $httpHeaders 
         * @return string 
         */
    
        /**
         * Requests the OAuth request token.
         * 
         * @return void
         */
    
        /**
         * Requests the OAuth access tokens.
         *
         * This method requires the 'unauthorized' request tokens
         * and, if successful will set the authorized request tokens.
         * 
         * @return void 
         */
    

    File: /destinations/dropbox/lib/dropbuddy/dropbox_api/OAuth/PHP.php

    /**
     * Dropbox OAuth
     * 
     * @package Dropbox 
     * @copyright Copyright (C) 2010 Rooftop Solutions. All rights reserved.
     * @author Evert Pot (http://www.rooftopsolutions.nl/) 
     * @license http://code.google.com/p/dropbox-php/wiki/License MIT
     */
    
    /**
     * This class is used to sign all requests to dropbox.
     *
     * This specific class uses the PHP OAuth extension
     */
    

    Class: Dropbox_OAuth_PHP extends Dropbox_OAuth

        /**
         * OAuth object
         *
         * @var OAuth
         */
    
        /**
         * Constructor
         * 
         * @param string $consumerKey 
         * @param string $consumerSecret 
         */
    
        /**
         * Sets the request token and secret.
         *
         * The tokens can also be passed as an array into the first argument.
         * The array must have the elements token and token_secret.
         * 
         * @param string|array $token 
         * @param string $token_secret 
         * @return void
         */
    
        /**
         * Fetches a secured oauth url and returns the response body. 
         * 
         * @param string $uri 
         * @param mixed $arguments 
         * @param string $method 
         * @param array $httpHeaders 
         * @return string 
         */
    
        /**
         * Requests the OAuth request token.
         *
         * @return void 
         */
    
        /**
         * Requests the OAuth access tokens.
         *
         * This method requires the 'unauthorized' request tokens
         * and, if successful will set the authorized request tokens.
         * 
         * @return void 
         */
    

    File: /destinations/dropbox/lib/dropbuddy/dropbox_api/OAuth/Wordpress.php

    /**
     * Dropbox OAuth
     * 
     * @package Dropbox 
     * @copyright Copyright (C) 2010 Stefan Motz
     * @author Stefan Motz (http://www.multimediamotz.de/)
     * @license MIT
     */
    
    /**
     * This class is used to sign all requests to dropbox.
     *
     * This specific class uses WordPress WP_Http to authenticate.
     */
    

    Class: Dropbox_OAuth_Wordpress extends Dropbox_OAuth

        /**
         *
         * @var string ConsumerKey
         */
    
        /**
         *
         * @var string ConsumerSecret
         */
    
        /**
         * Constructor
         * 
         * @param string $consumerKey 
         * @param string $consumerSecret 
         */
    
        /**
         * Fetches a secured oauth url and returns the response body. 
         * 
         * @param string $uri 
         * @param mixed $arguments 
         * @param string $method 
         * @param array $httpHeaders 
         * @return string 
         */
    
        /**
         * Returns named array with oauth parameters for further use
         * @return array Array with oauth_ parameters
         */
    
        /**
         * Creates valid Authorization header for OAuth, based on URI and Params
         *
         * @param string $uri
         * @param array $params
         * @param string $method GET or POST, standard is GET
         * @param array $oAuthParams optional, pass your own oauth_params here
         * @return array Array for request's headers section like
         * array('Authorization' => 'OAuth ...');
         */
    
        /**
         * Requests the OAuth request token.
         *
         * @return void 
         */
    
        /**
         * Requests the OAuth access tokens.
         *
         * This method requires the 'unauthorized' request tokens
         * and, if successful will set the authorized request tokens.
         * 
         * @return void 
         */
    
        /**
         * Helper function to properly urlencode parameters.
         * See http://php.net/manual/en/function.oauth-urlencode.php
         *
         * @param string $string
         * @return string
         */
    
        /**
         * Hash function for hmac_sha1; uses native function if available.
         *
         * @param string $key
         * @param string $data
         * @return string
         */
    

    File: /destinations/dropbox/lib/dropbuddy/dropbox_api/OAuth/Zend.php

    /**
     * Dropbox OAuth
     *
     * @package Dropbox
     * @copyright Copyright (C) 2010 Rooftop Solutions. All rights reserved.
     * @author Michael Johansen 
     * @license http://code.google.com/p/dropbox-php/wiki/License MIT
     */
    
    /**
     * This class is used to sign all requests to dropbox
     *
     * This classes use the Zend_Oauth package.
     */
    

    Class: Dropbox_OAuth_Zend extends Dropbox_OAuth

        /**
         * OAuth object
         *
         * @var Zend_Oauth_Consumer
         */
    
        /**
         * OAuth consumer key
         *
         * We need to keep this around for later.
         *
         * @var string
         */
    
        /**
         *
         * @var Zend_Oauth_Token
         */
    
        /**
         * Constructor
         *
         * @param string $consumerKey
         * @param string $consumerSecret
         */
    
        /**
         * Sets the request token and secret.
         *
         * The tokens can also be passed as an array into the first argument.
         * The array must have the elements token and token_secret.
         *
         * @param string|array $token
         * @param string $token_secret
         * @return void
         */
    
        /**
         * Fetches a secured oauth url and returns the response body.
         *
         * @param string $uri
         * @param mixed $arguments
         * @param string $method
         * @param array $httpHeaders
         * @return string
         */
    
            /* @var $token Zend_Oauth_Token_Access */
    
            /* @var $consumerRequest Zend_Oauth_Client */
    
                /** Placeholder for Oauth streaming support. */
    
        /**
         * Requests the OAuth request token.
         *
         * @return void
         */
    
        /**
         * Requests the OAuth access tokens.
         *
         * This method requires the 'unauthorized' request tokens
         * and, if successful will set the authorized request tokens.
         *
         * @return void
         */
    
        /**
         * Returns the oauth request tokens as an associative array.
         *
         * The array will contain the elements 'token' and 'token_secret' and the serialized
         * Zend_Oauth_Token object.
         *
         * @return array
         */
    
        /**
         * Returns the authorization url
         *
         * Overloading Dropbox_OAuth to use the built in functions in Zend_Oauth
         *
         * @param string $callBack Specify a callback url to automatically redirect the user back
         * @return string
         */
    

    File: /destinations/dropbox/lib/dropbuddy/dropbox_api/OAuth/Consumer/Dropbox.php

    /**
     * HTTP OAuth Consumer
     * 
     * Adapted from halldirector's code in 
     * http://code.google.com/p/dropbox-php/issues/detail?id=36#c5
     * 
     * @package Dropbox
     * @copyright Copyright (C) 2011 Joe Constant / halldirector. All rights reserved.
     * @author Joe Constant / halldirector
     * @license http://code.google.com/p/dropbox-php/wiki/License MIT
     */
    
    /* 
     * This class is to help work around aomw ssl issues.
     */
    

    File: /destinations/dropbox/lib/dropbuddy/dropbox_api/Exception/Forbidden.php

    /**
     * Dropbox Forbidden exception
     * 
     * @package Dropbox 
     * @copyright Copyright (C) 2010 Rooftop Solutions. All rights reserved.
     * @author Evert Pot (http://www.rooftopsolutions.nl/) 
     * @license http://code.google.com/p/dropbox-php/wiki/License MIT
     */
    
    /**
     * This exception is thrown when we receive the 403 forbidden response
     */
    

    Class: Dropbox_Exception_Forbidden extends Dropbox_Exception


    File: /destinations/dropbox/lib/dropbuddy/dropbox_api/Exception/NotFound.php

    /**
     * Dropbox Not Found exception
     * 
     * @package Dropbox 
     * @copyright Copyright (C) 2010 Rooftop Solutions. All rights reserved.
     * @author Evert Pot (http://www.rooftopsolutions.nl/) 
     * @license http://code.google.com/p/dropbox-php/wiki/License MIT
     */
    
    /**
     * This exception is thrown when a non-existant uri is accessed.
     * 
     * Basically, this exception is used when we get back a 404.
     */
    

    Class: Dropbox_Exception_NotFound extends Dropbox_Exception


    File: /destinations/dropbox/lib/dropbuddy/dropbox_api/Exception/OverQuota.php

    /**
     * Dropbox Over Quota exception
     * 
     * @package Dropbox 
     * @copyright Copyright (C) 2010 Rooftop Solutions. All rights reserved.
     * @author Evert Pot (http://www.rooftopsolutions.nl/) 
     * @license http://code.google.com/p/dropbox-php/wiki/License MIT
     */
    
    /**
     * This exception is thrown when the operation required more space than the available quota.
     * 
     * Basically, this exception is used when we get back a 507.
     */
    

    Class: Dropbox_Exception_OverQuota extends Dropbox_Exception


    File: /destinations/dropbox/lib/dropbuddy/dropbox_api/Exception/RequestToken.php

    /**
     * Dropbox RequestToken exception
     * 
     * @package Dropbox 
     * @copyright Copyright (C) 2010 Rooftop Solutions. All rights reserved.
     * @author Evert Pot (http://www.rooftopsolutions.nl/) 
     * @license http://code.google.com/p/dropbox-php/wiki/License MIT
     */
    
    /**
     * This exception is thrown when an error occured during the request_token process.
     */
    

    Class: Dropbox_Exception_RequestToken extends Dropbox_Exception


    File: /destinations/dropbox2/_configure.php

    /*
     * Dropbox Destination for PHP 5.3+. Requires PHP 5.3+ and Curl.
     *
     * @author Dustin Bolton, July 2013.
     *
     * Incoming variables:
     *		$mode					string		Mode for configuring this destination. Values:  add, edit, save
     *		$destination_settings	array		Array of this destination's configuration settings. Key => value pairs.
     *
     * Globally editable variables:
     *		$pb_hide_test			bool		Whether or not to hide the "Test" button. Modifiable.
     *		$pb_hide_save			bool		Whether or not to hide the "Save" button. Modifiable.
     *
     */
    

    File: /destinations/dropbox2/_manage.php


    File: /destinations/dropbox2/_phpmin.php


    File: /destinations/dropbox2/init.php

    Class: pb_backupbuddy_destination_dropbox2 { // Ends with destination slug

    	/* _connect()
    	 *
    	 * Connect to dropbox with provided token. Sets Dropbox client object into: self::$_dbxClient
    	 *
    	 * @param	string		$accessToken		Dropbox oAuth2 access token.
    	 * @return	bool							true on success, else false.
    	 *
    	 */
    
    	/* _normalizeSettings()
    	 *
    	 * Normalize any settings. NOTE: defaults are ALREADY set by anything calling these functions.
    	 *
    	 * @param	array 	$settings			Array of destination settings to clean up.
    	 * @return	array 						Normalized settings array.
    	 *
    	 */
    
    	/*	send()
    	 *	
    	 *	Send one or more files.
    	 *	
    	 *	@param		array			$files		Array of one or more files to send.
    	 *	@return		boolean						True on success, else false.
    	 */
    
    		/***** BEGIN MULTIPART CHUNKED CONTINUE *****/
    
    		/***** END MULTIPART CHUNKED CONTINUE *****/
    
    	/*	test()
    	 *	
    	 *	Tests ability to write to this remote destination.
    	 *	TODO: Should this delete the temporary test directory to clean up after itself?
    	 *	
    	 *	@param		array			$settings	Destination settings.
    	 *	@return		bool|string					True on success, string error message on failure.
    	 */
    
    	/*	listFiles()
    	 *	
    	 *	List files in this destination & directory.
    	 *	
    	 *	@param		array			$settings		Destination settings.
    	 *	@return		array|boolean					Array of items in directory OR bool FALSE on failure.
    	 */
    
    	/*	listFiles()
    	 *	
    	 * List files in this destination & directory.
    	 *	
    	 *	@param		array			$settings			Destination settings.
    	 *	@param		string			$remote_file		Remote file to retrieve. Filename only. Directory, path, bucket, etc handled in $destination_settings.
    	 *	@param		string			$local_file			Local file to save to.
    	 *	@return		array|boolean						Array of items in directory OR bool FALSE on failure.
    	 */
    
    	/*	delete()
    	 *	
    	 *	Delete files in this destination & directory. Path / directory provided in settings.
    	 *	
    	 *	@param		array			$settings		Destination settings.
    	 *	@return		bool|string						Bool TRUE on success, else string error message.
    	 */
    
    	/**
    	 * @link FROM DROPBOX LIB.
         * Sometimes fread() returns less than the request number of bytes (for example, when reading
         * from network streams).  This function repeatedly calls fread until the requested number of
         * bytes have been read or we've reached EOF.
         *
         * @param resource $inStream
         * @param int $limit
         * @return string
         */
    

    File: /destinations/dropbox2/lib/Dropbox/AppInfo.php

    /**
     * Your app's API key and secret.
     */
    
        /**
         * Your Dropbox app key (OAuth calls this the consumer key).  You can
         * create an app key and secret on the Dropbox developer website.
         *
         * @return string
         */
    
        /** @var string */
    
        /**
         * Your Dropbox app secret (OAuth calls this the consumer secret).  You can
         * create an app key and secret on the Dropbox developer website.
         *
         * Make sure that this is kept a secret.  Someone with your app secret can impesonate your
         * application.  People sometimes ask for help on the Dropbox API forums and
         * copy/paste code that includes their app secret.  Do not do that.
         *
         * @return string
         */
    
        /** @var string */
    
        /**
         * The set of servers your app will use.  This defaults to the standard Dropbox servers
         * {@link Host::getDefault}.
         *
         * @return Host
         *
         * @internal
         */
    
        /** @var Host */
    
        /**
         * Constructor.
         *
         * @param string $key
         *    See {@link getKey()}
         * @param string $secret
         *    See {@link getSecret()}
         */
    
        /**
         * Loads a JSON file containing information about your app. At a minimum, the file must include
         * the "key" and "secret" fields.  Run 'php authorize.php' in the examples directory
         * for details about what this file should look like.
         *
         * @param string $path
         *    Path to a JSON file
         *
         * @return AppInfo
         *
         * @throws AppInfoLoadException
         */
    
        /**
         * Loads a JSON file containing information about your app. At a minimum, the file must include
         * the "key" and "secret" fields.  Run 'php authorize.php' in the examples directory
         * for details about what this file should look like.
         *
         * @param string $path
         *    Path to a JSON file
         *
         * @return array
         *    A list of two items.  The first is a PHP array representation of the raw JSON, the second
         *    is an AppInfo object that is the parsed version of the JSON.
         *
         * @throws AppInfoLoadException
         *
         * @internal
         */
    
        /**
         * Parses a JSON object to build an AppInfo object.  If you would like to load this from a file,
         * use the loadFromJsonFile() method.
         *
         * @param array $jsonArr Output from json_decode($str, TRUE)
         *
         * @return AppInfo
         *
         * @throws AppInfoLoadException
         */
    
        /**
         * Use this to check that a function argument is of type AppInfo
         *
         * @internal
         */
    
        /**
         * Use this to check that a function argument is either null or of type
         * AppInfo.
         *
         * @internal
         */
    
        /** @internal */
    
        /** @internal */
    
        /** @internal */
    

    File: /destinations/dropbox2/lib/Dropbox/AppInfoLoadException.php

    /**
     * Thrown by the AppInfo::loadXXX methods if something goes wrong.
     */
    
        /**
         * @param string $message
         *
         * @internal
         */
    

    File: /destinations/dropbox2/lib/Dropbox/ArrayEntryStore.php

    /**
     * A class that gives get/put/clear access to a single entry in an array.
     */
    
        /**
         * Constructor.
         *
         * @param array $array
         *    The array that we'll be accessing.
         *
         * @param object $key
         *    The key for the array element we'll be accessing.
         */
    
        /**
         * Returns the entry's current value or null if nothing is set.
         *
         * @return object
         */
    
        /**
         * Set the array entry to the given value.
         *
         * @param object $value
         */
    
        /**
         * Clear the entry.
         */
    

    File: /destinations/dropbox2/lib/Dropbox/AuthInfo.php

    /**
     * This class contains methods to load an AppInfo and AccessToken from a JSON file.
     * This can help simplify simple scripts (such as the example programs that come with the
     * SDK) but is probably not useful in typical Dropbox API apps.
     *
     */
    
        /**
         * Loads a JSON file containing authorization information for your app. 'php authorize.php'
         * in the examples directory for details about what this file should look like.
         *
         * @param string $path
         *    Path to a JSON file
         * @return array
         *    A list(string $accessToken, Host $host).
         *
         * @throws AuthInfoLoadException
         */
    
        /**
         * Parses a JSON object to build an AuthInfo object.  If you would like to load this from a file,
         * please use the @see loadFromJsonFile method.
         *
         * @param array $jsonArr
         *    A parsed JSON object, typcally the result of json_decode(..., TRUE).
         * @return array
         *    A list(string $accessToken, Host $host).
         *
         * @throws AuthInfoLoadException
         */
    

    File: /destinations/dropbox2/lib/Dropbox/AuthInfoLoadException.php

    /**
     * Thrown by the AuthInfo::loadXXX methods if something goes wrong.
     */
    
        /**
         * @param string $message
         *
         * @internal
         */
    

    File: /destinations/dropbox2/lib/Dropbox/Checker.php

    /**
     * Helper functions to validate arguments.
     *
     * @internal
     */
    

    File: /destinations/dropbox2/lib/Dropbox/Client.php

    /**
     * The class used to make most Dropbox API calls.  You can use this once you've gotten an
     * {@link AccessToken} via {@link WebAuth}.
     *
     * This class is stateless so it can be shared/reused.
     */
    
        /**
         * The access token used by this client to make authenticated API calls.  You can get an
         * access token via {@link WebAuth}.
         *
         * @return AccessToken
         */
    
        /** @var AccessToken */
    
        /**
         * An identifier for the API client, typically of the form "Name/Version".
         * This is used to set the HTTP User-Agent header when making API requests.
         * Example: "PhotoEditServer/1.3"
         *
         * If you're the author a higher-level library on top of the basic SDK, and the
         * "Photo Edit" app's server code is using your library to access Dropbox, you should append
         * your library's name and version to form the full identifier.  For example,
         * if your library is called "File Picker", you might set this field to:
         * "PhotoEditServer/1.3 FilePicker/0.1-beta"
         *
         * The exact format of the User-Agent header is described in
         * section 3.8 of the HTTP specification.
         *
         * Note that underlying HTTP client may append other things to the User-Agent, such as
         * the name of the library being used to actually make the HTTP request (such as cURL).
         *
         * @return string
         */
    
        /** @var string */
    
        /**
         * The locale of the user of your application.  Some API calls return localized
         * data and error messages; this "user locale" setting determines which locale
         * the server should use to localize those strings.
         *
         * @return null|string
         */
    
        /** @var null|string */
    
        /**
         * Constructor.
         *
         * @param string $accessToken
         *     See {@link getAccessToken()}
         * @param string $clientIdentifier
         *     See {@link getClientIdentifier()}
         * @param null|string $userLocale
         *     See {@link getUserLocale()}
         */
    
        /** @var string */
    
        /** @var string */
    
        /** @var string */
    
        /**
         * Returns a basic account and quota information.
         *
         * 
         * $client = ...
         * $accountInfo = $client->getAccountInfo();
         * print_r($accountInfo);
         * 
         *
         * @return array
         *    See /account/info.
         *
         * @throws Exception
         */
    
        /**
         * Downloads a file from Dropbox.  The file's contents are written to the
         * given $outStream and the file's metadata is returned.
         *
         * 
         * $client = ...;
         * $metadata = $client->getFile("/Photos/Frog.jpeg",
         *                              fopen("./Frog.jpeg", "wb"));
         * print_r($metadata);
         * 
         *
         * @param string $path
         *   The path to the file on Dropbox (UTF-8).
         *
         * @param resource $outStream
         *   If the file exists, the file contents will be written to this stream.
         *
         * @param string|null $rev
         *   If you want the latest revision of the file at the given path, pass in null.
         *   If you want a specific version of a file, pass in value of the file metadata's "rev" field.
         *
         * @return null|array
         *   The metadata
         *   object for the file at the given $path and $rev, or null if the file
         *   doesn't exist,
         *
         * @throws Exception
         */
    
        /**
         * Calling 'uploadFile' with $numBytes less than this value, will cause this SDK
         * to use the standard /files_put endpoint.  When $numBytes is greater than this
         * value, we'll use the /chunked_upload endpoint.
         *
         * @var int
         */
    
        /**
         * @var int
         */
    
        /**
         * Creates a file on Dropbox, using the data from $inStream for the file contents.
         *
         * 
         * use \Dropbox as dbx;
         * $client = ...;
         * $md1 = $client->uploadFile("/Photos/Frog.jpeg",
         *                            dbx\WriteMode::add(),
         *                            fopen("./frog.jpeg", "rb"));
         * print_r($md1);
         * $rev = $md1["rev"];
         *
         * // Re-upload with WriteMode::update(...), which will overwrite the
         * // file if it hasn't been modified from our original upload.
         * $md2 = $client->uploadFile("/Photos/Frog.jpeg",
         *                            dbx\WriteMode::update($rev),
         *                            fopen("./frog-new.jpeg", "rb"));
         * print_r($md2);
         * 
         *
         * @param string $path
         *    The Dropbox path to save the file to (UTF-8).
         *
         * @param WriteMode $writeMode
         *    What to do if there's already a file at the given path.
         *
         * @param resource $inStream
         *    The data to use for the file contents.  This stream will be closed with
         *    fclose, whether the upload succeeds or not.
         *
         * @param int|null $numBytes
         *    You can pass in null if you don't know.  If you do provide the size, we can
         *    perform a slightly more efficient upload (fewer network round-trips) for files smaller
         *    than 8 MB.
         *
         * @return mixed
         *    The     /**
         * Creates a file on Dropbox, using the given $data string as the file contents.
         *
         * 
         * use \Dropbox as dbx;
         * $client = ...;
         * $md = $client->uploadFile("/Grocery List.txt",
         *                           dbx\WriteMode::add(),
         *                           "1. Coke\n2. Popcorn\n3. Toothpaste\n");
         * print_r($md);
         * 
         *
         * @param string $path
         *    The Dropbox path to save the file to (UTF-8).
         *
         * @param WriteMode $writeMode
         *    What to do if there's already a file at the given path.
         *
         * @param string $data
         *    The data to use for the contents of the file.
         *
         * @return mixed
         *    The     /**
         * Creates a file on Dropbox, using the data from $inStream as the file contents.
         *
         * This version of uploadFile splits uploads the file ~4MB chunks at a time and
         * will retry a few times if one chunk fails to upload.  Uses {@link chunkedUploadStart()},
         * {@link chunkedUploadContinue()}, and {@link chunkedUploadFinish()}.
         *
         * @param string $path
         *    The Dropbox path to save the file to (UTF-8).
         *
         * @param WriteMode $writeMode
         *    What to do if there's already a file at the given path.
         *
         * @param resource $inStream
         *    The data to use for the file contents.  This stream will be closed with
         *    fclose, whether the upload succeeds or not.
         *
         * @param int|null $numBytes
         *    The number of bytes available from $inStream.
         *    You can pass in null if you don't know.
         *
         * @param int|null $chunkSize
         *    The number of bytes to upload in each chunk.  You can omit this (or pass in
         *    null and the library will use a reasonable default.
         *
         * @return mixed
         *    The     /**
         * @param string $path
         *
         * @param WriteMode $writeMode
         *    What to do if there's already a file at the given path (UTF-8).
         *
         * @param resource $inStream
         *    The source of data to upload.  The stream will NOT be automatically closed.
         *
         * @param int|null $numBytes
         *    You can pass in null.  But if you know how many bytes you expect, pass in
         *    that value and this function will do a sanity check at the end to make sure the number of
         *    bytes read from $inStream matches up.
         *
         * @param int $chunkSize
         *
         * @return array
         *    The     /**
         * Sometimes fread() returns less than the request number of bytes (for example, when reading
         * from network streams).  This function repeatedly calls fread until the requested number of
         * bytes have been read or we've reached EOF.
         *
         * @param resource $inStream
         * @param int $limit
         * @return string
         */
    
        /**
         * @param string $path
         * @param WriteMode $writeMode
         * @param callable $curlConfigClosure
         * @return array
         */
    
        /**
         * Start a new chunked upload session and upload the first chunk of data.
         *
         * @param string $data
         *     The data to start off the chunked upload session.
         *
         * @return array
         *     A pair of (string $uploadId, int $byteOffset).  $uploadId
         *     is a unique identifier for this chunked upload session.  You pass this in to
         *     {@link chunkedUploadContinue} and {@link chuunkedUploadFinish}.  $byteOffset
         *     is the number of bytes that were successfully uploaded.
         *
         * @throws Exception
         */
    
        /**
         * Append another chunk data to a previously-started chunked upload session.
         *
         * @param string $uploadId
         *     The unique identifier for the chunked upload session.  This is obtained via
         *     {@link chunkedUploadStart}.
         *
         * @param int $byteOffset
         *     The number of bytes you think you've already uploaded to the given chunked upload
         *     session.  The server will append the new chunk of data after that point.
         *
         * @param string $data
         *     The data to append to the existing chunked upload session.
         *
         * @return int|bool
         *     If false, it means the server didn't know about the given
         *     $uploadId.  This may be because the chunked upload session has expired
         *     (they last around 24 hours).
         *     If true, the chunk was successfully uploaded.  If an integer, it means
         *     you and the server don't agree on the current $byteOffset.  The returned
         *     integer is the server's internal byte offset for the chunked upload session.  You need
         *     to adjust your input to match.
         *
         * @throws Exception
         */
    
        /**
         * @param string $body
         * @return array
         */
    
        /**
         * @param HttpResponse $response
         * @return array|null
         */
    
        /**
         * Creates a file on Dropbox using the accumulated contents of the given chunked upload session.
         *
         * @param string $uploadId
         *     The unique identifier for the chunked upload session.  This is obtained via
         *     {@link chunkedUploadStart}.
         *
         * @param string $path
         *    The Dropbox path to save the file to ($path).
         *
         * @param WriteMode $writeMode
         *    What to do if there's already a file at the given path.
         *
         * @return array|null
         *    If null, it means the Dropbox server wasn't aware of the
         *    $uploadId you gave it.
         *    Otherwise, you get back the
         *    metadata object
         *    for the newly-created file.
         *
         * @throws Exception
         */
    
        /**
         * @param array $params
         * @param string $data
         * @return HttpResponse
         */
    
        /**
         * Returns the metadata for whatever file or folder is at the given path.
         *
         * 
         * $client = ...;
         * $md = $client->getMetadata("/Photos/Frog.jpeg");
         * print_r($md);
         * 
         *
         * @param string $path
         *    The Dropbox path to a file or folder (UTF-8).
         *
         * @return array|null
         *    If there is a file or folder at the given path, you'll get back the
         *    metadata object
         *    for that file or folder.  If not, you'll get back null.
         *
         * @throws Exception
         */
    
        /**
         * Returns the metadata for whatever file or folder is at the given path and, if it's a folder,
         * also include the metadata for all the immediate children of that folder.
         *
         * 
         * $client = ...;
         * $md = $client->getMetadataWithChildren("/Photos");
         * print_r($md);
         * 
         *
         * @param string $path
         *    The Dropbox path to a file or folder (UTF-8).
         *
         * @return array|null
         *    If there is a file or folder at the given path, you'll get back the
         *    metadata object
         *    for that file or folder, along with all immediate children if it's a folder.  If not,
         *    you'll get back null.
         *
         * @throws Exception
         */
    
        /**
         * @param string $path
         * @param array $params
         * @return array
         */
    
        /**
         * If you've previously retrieved the metadata for a folder and its children, this method will
         * retrieve updated metadata only if something has changed.  This is more efficient than
         * calling {@link getMetadataWithChildren} if you have a cache of previous results.
         *
         * 
         * $client = ...;
         * $md = $client->getMetadataWithChildren("/Photos");
         * print_r($md);
         * assert($md["is_dir"], "expecting \"/Photos\" to be a folder");
         *
         * sleep(10);
         *
         * // Now see if anything changed...
         * list($changed, $new_md) = $client->getMetadataWithChildrenIfChanged(
         *                                    "/Photos", $md["hash"]);
         * if ($changed) {
         *     echo "Folder changed.\n";
         *     print_r($new_md);
         * } else {
         *     echo "Folder didn't change.\n";
         * }
         * 
         *
         * @param string $path
         *    The Dropbox path to a folder (UTF-8).
         *
         * @param string $previousFolderHash
         *    The "hash" field from the previously retrieved folder metadata.
         *
         * @return array
         *    A list(boolean $changed, array $metadata).  If the metadata hasn't changed,
         *    you'll get list(false, null).  If the metadata of the folder or any of its
         *    children has changed, you'll get list(true, $newMetadata).  $metadata is a
         *    metadata object.
         *
         * @throws Exception
         */
    
        /**
         * A way of letting you keep up with changes to files and folders in a user's Dropbox.
         *
         * @param string|null $cursor
         *    If this is the first time you're calling this, pass in null.  Otherwise,
         *    pass in whatever cursor was returned by the previous call.
         *
         * @return array
         *    A delta page, which
         *    contains a list of changes to apply along with a new "cursor" that should be passed into
         *    future getDelta calls.  If the "reset" field is true, you
         *    should clear your local state before applying the changes.  If the "has_more" field is
         *    true, call getDelta immediately to get more results, otherwise
         *    wait a while (at least 5 minutes) before calling getDelta again.
         *
         * @throws Exception
         */
    
        /**
         * Gets the metadata for all the file revisions (up to a limit) for a given path.
         *
         * See /revisions.
         *
         * @param string path
         *    The Dropbox path that you want file revision metadata for (UTF-8).
         *
         * @param int|null limit
         *    The maximum number of revisions to return.
         *
         * @return array|null
         *    A list of     /**
         * Takes a copy of the file at the given revision and saves it over the current copy.  This
         * will create a new revision, but the file contents will match the revision you specified.
         *
         * See /restore.
         *
         * @param string $path
         *    The Dropbox path of the file to restore (UTF-8).
         *
         * @param string $rev
         *    The revision to restore the contents to.
         *
         * @return mixed
         *    The metadata
         *    object
         *
         * @throws Exception
         */
    
        /**
         * Returns metadata for all files and folders whose filename matches the query string.
         *
         * @param string $basePath
         *    The path to limit the search to (UTF-8).  Pass in "/" to search everything.
         *
         * @param string $query
         *    A space-separated list of substrings to search for.  A file matches only if it contains
         *    all the substrings.
         *
         * @param int|null $limit
         *    The maximum number of results to return.
         *
         * @param bool $includeDeleted
         *    Whether to include deleted files in the results.
         *
         * @return mixed
         *    A list of     /**
         * Creates and returns a public link to a file or folder's "preview page".  This link can be
         * used without authentication.  The preview page may contain a thumbnail or some other
         * preview of the file, along with a download link to download the actual file.
         *
         * See /shares.
         *
         * @param string $path
         *    The Dropbox path to the file or folder you want to create a shareable link to (UTF-8).
         *
         * @return string
         *    The URL of the preview page.
         *
         * @throws Exception
         */
    
        /**
         * Creates and returns a direct link to a file.  This link can be used without authentication.
         * This link will expire in a few hours.
         *
         * @param string $path
         *    The Dropbox path to a file or folder (UTF-8).
         *
         * @return array
         *    A list(string $url, \DateTime $expires) where $url is a direct link to
         *    the requested file and $expires is a standard PHP \DateTime
         *    representing when $url will stop working.
         *
         * @throws Exception
         */
    
        /**
         * Creates and returns a "copy ref" to a file.  A copy ref can be used to copy a file across
         * different Dropbox accounts without downloading and re-uploading.
         *
         * For example: Create a Client using the access token from one account and call
         * createCopyRef.  Then, create a Client using the access token for
         * another account and call copyFromCopyRef using the copy ref.  (You need to use
         * the same app key both times.)
         *
         * @param string path
         *    The Dropbox path of the file or folder you want to create a copy ref for (UTF-8).
         *
         * @return string
         *    The copy ref (just a string that you keep track of).
         *
         * @throws Exception
         */
    
        /**
         * Gets a thumbnail image representation of the file at the given path.
         *
         * @param string $path
         *    The path to the file you want a thumbnail for (UTF-8).
         *
         * @param string $format
         *    One of the two image formats: "jpeg" or "png".
         *
         * @param string $size
         *    One of the predefined image size names, as a string:
         *    
      *
    • "xs" - 32x32
    • *
    • "s" - 64x64
    • *
    • "m" - 128x128
    • *
    • "l" - 640x480
    • *
    • "xl" - 1024x768
    • *
    * * @return array|null * If the file exists, you'll get list(array $metadata, string $data) where * $metadata is the file's * metadata object * and $data is the raw data for the thumbnail image. If the file doesn't exist, you'll * get null. * * @throws Exception */
        /**
         * Copies a file or folder to a new location
         *
         * @param string $fromPath
         *    The Dropbox path of the file or folder you want to copy (UTF-8).
         *
         * @param string $toPath
         *    The destination Dropbox path (UTF-8).
         *
         * @return mixed
         *    The metadata
         *    object for the new file or folder.
         *
         * @throws Exception
         */
    
        /**
         * Creates a file or folder based on an existing copy ref (possibly from a different Dropbox
         * account).
         *
         * @param string $copyRef
         *    A copy ref obtained via the {@link createCopyRef()} call.
         *
         * @param string $toPath
         *    The Dropbox path you want to copy the file or folder to (UTF-8).
         *
         * @return mixed
         *    The metadata
         *    object for the new file or folder.
         *
         * @throws Exception
         */
    
        /**
         * Creates a folder.
         *
         * @param string $path
         *    The Dropbox path at which to create the folder (UTF-8).
         *
         * @return array|null
         *    If successful, you'll get back the
         *    metadata object
         *    for the newly-created folder.  If not successful, you'll get null.
         *
         * @throws Exception
         */
    
        /**
         * Deletes a file or folder
         *
         * See /fileops/delete.
         *
         * @param string $path
         *    The Dropbox path of the file or folder to delete (UTF-8).
         *
         * @return mixed
         *    The metadata
         *    object for the deleted file or folder.
         *
         * @throws Exception
         */
    
        /**
         * Moves a file or folder to a new location.
         *
         * See /fileops/move.
         *
         * @param string $fromPath
         *    The source Dropbox path (UTF-8).
         *
         * @param string $toPath
         *    The destination Dropbox path (UTF-8).
         *
         * @return mixed
         *    The metadata
         *    object for the destination file or folder.
         *
         * @throws Exception
         */
    
        /**
         * @param string $host
         * @param string $path
         * @param array|null $params
         * @return HttpResponse
         *
         * @throws Exception
         */
    
        /**
         * @param string $host
         * @param string $path
         * @param array|null $params
         * @return HttpResponse
         *
         * @throws Exception
         */
    
        /**
         * @param string $url
         * @return Curl
         */
    
        /**
         * Parses date/time strings returned by the Dropbox API.  The Dropbox API returns date/times
         * formatted like: "Sat, 21 Aug 2010 22:31:20 +0000".
         *
         * @param string $apiDateTimeString
         *    A date/time string returned by the API.
         *
         * @return \DateTime
         *    A standard PHP \DateTime instance.
         *
         * @throws Exception_BadResponse
         *    Thrown if $apiDateTimeString isn't correctly formatted.
         */
    
        /**
         * @internal
         */
    
        /**
         * @internal
         */
    

    File: /destinations/dropbox2/lib/Dropbox/Curl.php

    /**
     * A minimal wrapper around a cURL handle.
     *
     * @internal
     */
    
        /** @var resource */
    
        /** @var string[] */
    
        /**
         * @param string $url
         */
    
        /**
         * @param string $header
         */
    
        /**
         * @param int $option
         * @param mixed $value
         */
    

    File: /destinations/dropbox2/lib/Dropbox/CurlStreamRelay.php

    /**
     * A CURLOPT_WRITEFUNCTION that will write HTTP response data to $outStream if
     * it's an HTTP 200 response.  For all other HTTP status codes, it'll save the
     * output in a string, which you can retrieve it via {@link getErrorBody}.
     *
     * @internal
     */
    

    File: /destinations/dropbox2/lib/Dropbox/DeserializeException.php

    /**
     * If, when loading a serialized {@link RequestToken} or {@link AccessToken}, the input string is
     * malformed, this exception will be thrown.
     */
    
        /**
         * @param string $message
         *
         * @internal
         */
    

    File: /destinations/dropbox2/lib/Dropbox/DropboxMetadataHeaderCatcher.php

    /**
     * @internal
     */
    
        /**
         * @var mixed
         */
    
        /**
         * @var string
         */
    
        /**
         * @var bool
         */
    
        /**
         * @param resource $ch
         */
    
        /**
         * @param resource $ch
         * @param string $header
         * @return int
         * @throws Exception_BadResponse
         */
    

    File: /destinations/dropbox2/lib/Dropbox/Exception.php

    /**
     * The base class for all API call exceptions.
     */
    
        /**
         * @internal
         */
    

    File: /destinations/dropbox2/lib/Dropbox/Host.php

    /**
     * The Dropbox web API accesses three hosts; this structure holds the
     * names of those three hosts.  This is primarily for mocking things out
     * during testing.  Most of the time you won't have to deal with this class
     * directly, and even when you do, you'll just use the default
     * value: {@link Host::getDefault()}.
     *
     * @internal
     */
    
        /**
         * Returns a Host object configured with the three standard Dropbox host: "api.dropbox.com",
         * "api-content.dropbox.com", and "www.dropbox.com"
         *
         * @return Host
         */
    
        /** @var string */
    
        /** @var string */
    
        /** @var string */
    
        /**
         * Constructor.
         *
         * @param string $api
         *     See {@link getApi()}
         * @param string $content
         *     See {@link getContent()}
         * @param string $web
         *     See {@link getWeb()}
         */
    
        /**
         * Returns the host name of the main Dropbox API server.
         * The default is "api.dropbox.com".
         *
         * @return string
         */
    
        /**
         * Returns the host name of the Dropbox API content server.
         * The default is "api-content.dropbox.com".
         *
         * @return string
         */
    
        /**
         * Returns the host name of the Dropbox web server.  Used during user authorization.
         * The default is "www.dropbox.com".
         *
         * @return string
         */
    
        /**
         * Check that a function argument is of type Host.
         *
         * @internal
         */
    
        /**
         * Check that a function argument is either null or of type
         * Host.
         *
         * @internal
         */
    

    File: /destinations/dropbox2/lib/Dropbox/HttpResponse.php

    /**
     * @internal
     */
    

    File: /destinations/dropbox2/lib/Dropbox/Path.php

    /**
     * Path validation functions.
     */
    
        /**
         * Return whether the given path is a valid Dropbox path.
         *
         * @param string $path
         *    The path you want to check for validity.
         *
         * @return bool
         *    Whether the path was valid or not.
         */
    
        /**
         * Return whether the given path is a valid non-root Dropbox path.
         * This is the same as {@link isValid} except "/" is not allowed.
         *
         * @param string $path
         *    The path you want to check for validity.
         *
         * @return bool
         *    Whether the path was valid or not.
         */
    
        /**
         * If the given path is a valid Dropbox path, return null,
         * otherwise return an English string error message describing what is wrong with the path.
         *
         * @param string $path
         *    The path you want to check for validity.
         *
         * @return string|null
         *    If the path was valid, return null.  Otherwise, returns
         *    an English string describing the problem.
         */
    
        /**
         * If the given path is a valid non-root Dropbox path, return null,
         * otherwise return an English string error message describing what is wrong with the path.
         * This is the same as {@link findError} except "/" will yield an error message.
         *
         * @param string $path
         *    The path you want to check for validity.
         *
         * @return string|null
         *    If the path was valid, return null.  Otherwise, returns
         *    an English string describing the problem.
         */
    
        /**
         * Return the last component of a path (the file or folder name).
         *
         * 
         * Path::getName("/Misc/Notes.txt") // "Notes.txt"
         * Path::getName("/Misc")           // "Misc"
         * Path::getName("/")               // null
         * 
         *
         * @param string $path
         *    The full path you want to get the last component of.
         *
         * @return null|string
         *    The last component of $path or null if the given
         *    $path was "/".
         */
    
        /**
         * @internal
         *
         * @param string $argName
         * @param mixed $value
         * @throws \InvalidArgumentException
         */
    
        /**
         * @internal
         *
         * @param string $argName
         * @param mixed $value
         * @throws \InvalidArgumentException
         */
    

    File: /destinations/dropbox2/lib/Dropbox/RequestUtil.php

    /**
     * @internal
     */
    
        /**
         * @param string $userLocale
         * @param string $host
         * @param string $path
         * @param array $params
         * @return string
         */
    
        /**
         * @param string $host
         * @param string $path
         * @return string
         */
    
        /**
         * @param string $clientIdentifier
         * @param string $url
         * @return Curl
         */
    
        /**
         * @param string $clientIdentifier
         * @param string $url
         * @param string $accessToken
         * @return Curl
         */
    
        /**
         * @param string $accessToken
         * @param string $userLocale
         * @param string $host
         * @param string $path
         * @param array|null $params
         *
         * @return HttpResponse
         *
         * @throws Exception
         */
    
        /**
         * @param string $accessToken
         * @param string $userLocale
         * @param string $host
         * @param string $path
         * @param array|null $params
         *
         * @return HttpResponse
         *
         * @throws Exception
         */
    
        /**
         * @param string $responseBody
         * @return mixed
         * @throws Exception_BadResponse
         */
    
        /**
         * @param int $maxRetries
         *    The number of times to retry it the action if it fails with one of the transient
         *    API errors.  A value of 1 means we'll try the action once and if it fails, we
         *    will retry once.
         *
         * @param callable $action
         *    The the action you want to retry.
         *
         * @return mixed
         *    Whatever is returned by the $action callable.
         */
    

    File: /destinations/dropbox2/lib/Dropbox/Security.php

    /**
     * Helper functions for security-related things.
     */
    
        /**
         * A string equality function that compares strings in a way that isn't suceptible to timing
         * attacks.  An attacker can figure out the length of the string, but not the string's value.
         *
         * Use this when comparing two strings where:
         * - one string could be influenced by an attacker
         * - the other string contains data an attacker shouldn't know
         *
         * @param string $a
         * @param string $b
         * @return bool
         */
    
        /**
         * Returns cryptographically strong secure random bytes (as a PHP string).
         *
         * @param int $numBytes
         *    The number of bytes of random data to return.
         *
         * @return string
         */
    

    File: /destinations/dropbox2/lib/Dropbox/StreamReadException.php

    /**
     * Thrown when there's an error reading from a stream that was passed in by the caller.
     */
    
        /**
         * @internal
         */
    

    File: /destinations/dropbox2/lib/Dropbox/WebAuth.php

    /**
     * OAuth 2 "authorization code" flow.  (This SDK does not support the "token" flow.)
     *
     * Use {@link WebAuth::start()} and {@link WebAuth::finish()} to guide your
     * user through the process of giving your app access to their Dropbox account.
     * At the end, you will have an access token, which you can pass to {@link Client}
     * and start making API calls.
     *
     * Example:
     *
     * 
     * use \Dropbox as dbx;
     *
     * function getWebAuth()
     * {
     *    $appInfo = dbx\AppInfo::loadFromJsonFile(...);
     *    $clientIdentifier = "my-app/1.0";
     *    $redirectUri = "https://example.org/dropbox-auth-finish";
     *    $csrfTokenStore = new dbx\ArrayElementStore($_SESSION, 'dropbox-auth-csrf-token');
     *    return new dbx\WebAuth($appInfo, $clientIdentifier, $redirectUri, $csrfTokenStore, ...);
     * }
     *
     * // ----------------------------------------------------------
     * // In the URL handler for "/dropbox-auth-start"
     *
     * $authorizeUrl = getWebAuth()->start();
     * header("Location: $authorizeUrl");
     *
     * // ----------------------------------------------------------
     * // In the URL handler for "/dropbox-auth-finish"
     *
     * try {
     *    list($accessToken, $userId, $urlState) = getWebAuth()->finish($_GET);
     *    assert($urlState === null);  // Since we didn't pass anything in start()
     * }
     * catch (dbx\WebAuthException_BadRequest $ex) {
     *    error_log("/dropbox-auth-finish: bad request: " . $ex->getMessage());
     *    // Respond with an HTTP 400 and display error page...
     * }
     * catch (dbx\WebAuthException_BadState $ex) {
     *    // Auth session expired.  Restart the auth process.
     *    header('Location: /dropbox-auth-start');
     * }
     * catch (dbx\WebAuthException_Csrf $ex) {
     *    error_log("/dropbox-auth-finish: CSRF mismatch: " . $ex->getMessage());
     *    // Respond with HTTP 403 and display error page...
     * }
     * catch (dbx\WebAuthException_NotApproved $ex) {
     *    error_log("/dropbox-auth-finish: not approved: " . $ex->getMessage());
     * }
     * catch (dbx\WebAuthException_Provider $ex) {
     *    error_log("/dropbox-auth-finish: error redirect from Dropbox: " . $ex->getMessage());
     * }
     * catch (dbx\Exception $ex) {
     *    error_log("/dropbox-auth-finish: error communicating with Dropbox API: " . $ex->getMessage());
     * }
     *
     * // We can now use $accessToken to make API requests.
     * $client = dbx\Client($accessToken, ...);
     * 
     *
     */
    
        /**
         * The URI that the Dropbox server will redirect the user to after the user finishes
         * authorizing your app.  This URI must be HTTPS-based and
         * pre-registered with Dropbox,
         * though "localhost"-based and "127.0.0.1"-based URIs are allowed without pre-registration
         * and can be either HTTP or HTTPS.
         *
         * @return string
         */
    
        /** @var string */
    
        /**
         * A object that lets us save the CSRF token to the user's session.  If you're using the
         * standard PHP $_SESSION, you can pass in something like
         * new ArrayEntryStore($_SESSION, 'dropbox-auth-csrf-token').
         *
         * If you're not using $_SESSION, you might have to create your own class that provides
         * the same get()/set()/clear() methods as
         * {@link ArrayEntryStore}.
         *
         * @return object
         */
    
        /** @var object */
    
        /**
         * Constructor.
         *
         * @param AppInfo $appInfo
         *     See {@link getAppInfo()}
         * @param string $clientIdentifier
         *     See {@link getClientIdentifier()}
         * @param null|string $redirectUri
         *     See {@link getRedirectUri()}
         * @param null|string $csrfTokenStore
         *     See {@link getCsrfTokenStore()}
         * @param null|string $userLocale
         *     See {@link getUserLocale()}
         */
    
        /**
         * Starts the OAuth 2 authorization process, which involves redirecting the user to the
         * returned authorization URL (a URL on the Dropbox website).  When the user then
         * either approves or denies your app access, Dropbox will redirect them to the
         * $redirectUri given to constructor, at which point you should
         * call {@link finish()} to complete the authorization process.
         *
         * This function will also save a CSRF token using the $csrfTokenStore given to
         * the constructor.  This CSRF token will be checked on {@link finish()} to prevent
         * request forgery.
         *
         * @param string|null $urlState
         *    Any data you would like to keep in the URL through the authorization process.
         *    This exact state will be returned to you by {@link finish()}.
         *
         * @return array
         *    The URL to redirect the user to.
         *
         * @throws Exception
         */
    
        /**
         * Call this after the user has visited the authorize URL ({@link start()}), approved your app,
         * and was redirected to your redirect URI.
         *
         * @param array $queryParams
         *    The query parameters on the GET request to your redirect URI.
         *
         * @return array
         *    A list(string $accessToken, string $userId, string $urlState), where
         *    $accessToken can be used to construct a {@link Client}, $userId
         *    is the user ID of the user's Dropbox account, and $urlState is the
         *    value you originally passed in to {@link start()}.
         *
         * @throws Exception
         *    Thrown if there's an error getting the access token from Dropbox.
         * @throws WebAuthException_BadRequest
         * @throws WebAuthException_BadState
         * @throws WebAuthException_Csrf
         * @throws WebAuthException_NotApproved
         * @throws WebAuthException_Provider
         */
    

    File: /destinations/dropbox2/lib/Dropbox/WebAuthBase.php

    /**
     * The base class for the two auth options.
     */
    
        /**
         * Whatever AppInfo was passed into the constructor.
         *
         * @return AppInfo
         */
    
        /** @var AppInfo */
    
        /**
         * An identifier for the API client, typically of the form "Name/Version".
         * This is used to set the HTTP User-Agent header when making API requests.
         * Example: "PhotoEditServer/1.3"
         *
         * If you're the author a higher-level library on top of the basic SDK, and the
         * "Photo Edit" app's server code is using your library to access Dropbox, you should append
         * your library's name and version to form the full identifier.  For example,
         * if your library is called "File Picker", you might set this field to:
         * "PhotoEditServer/1.3 FilePicker/0.1-beta"
         *
         * The exact format of the User-Agent header is described in
         * section 3.8 of the HTTP specification.
         *
         * Note that underlying HTTP client may append other things to the User-Agent, such as
         * the name of the library being used to actually make the HTTP request (such as cURL).
         *
         * @return string
         */
    
        /** @var string */
    
        /**
         * The locale of the user of your application.  Some API calls return localized
         * data and error messages; this "user locale" setting determines which locale
         * the server should use to localize those strings.
         *
         * @return null|string
         */
    
        /** @var string */
    
        /**
         * Constructor.
         *
         * @param AppInfo $appInfo
         *     See {@link getAppInfo()}
         * @param string $clientIdentifier
         *     See {@link getClientIdentifier()}
         * @param null|string $userLocale
         *     See {@link getUserLocale()}
         */
    

    File: /destinations/dropbox2/lib/Dropbox/WebAuthNoRedirect.php

    /**
     * OAuth 2 code-based authorization for apps that can't provide a redirect URI, typically
     * command-line example apps.
     *
     * Use {@link WebAuth::start()} and {@link WebAuth::getToken()} to guide your
     * user through the process of giving your app access to their Dropbox account.  At the end, you
     * will have an {@link AccessToken}, which you can pass to {@link Client} and start making
     * API calls.
     *
     * Example:
     *
     * 
     * use \Dropbox as dbx;
     * $appInfo = dbx\AppInfo::loadFromJsonFile(...);
     * $clientIdentifier = "my-app/1.0";
     * $webAuth = new dbx\WebAuthNoRedirect($appInfo, $clientIdentifier, ...);
     *
     * $authorizeUrl = $webAuth->start();
     *
     * print("1. Go to: $authorizeUrl\n");
     * print("2. Click "Allow" (you might have to log in first).\n");
     * print("3. Copy the authorization code.\n");
     * $code = \trim(\readline("4. Enter the authorization code here: "));
     *
     * try {
     *    list($accessToken, $userId) = $webAuth->finish($code);
     * }
     * catch (dbx\Exception $ex) {
     *    print("Error communicating with Dropbox API: " . $ex->getMessage() . "\n");
     * }
     *
     * $client = dbx\Client($accessToken, $clientIdentifier, ...);
     * 
     */
    
        /**
         * Returns the URL of the authorization page the user must visit.  If the user approves
         * your app, they will be shown the authorization code on the web page.  They will need to
         * copy/paste that code into your application so your app can pass it to
         * {@link finish}.
         *
         * @return string
         *    An authorization URL.  Redirect the user's browser to this URL.  After the user decides
         *    whether to authorize your app or not, Dropbox will show the user an authorization code,
         *    which the user will need to give to your application (e.g. via copy/paste).
         */
    
        /**
         * Call this after the user has visited the authorize URL returned by {@link start()},
         * approved your app, was presented with an authorization code by Dropbox, and has copy/paste'd
         * that authorization code into your app.
         *
         * @param string $code
         *    The authorization code provided to the user by Dropbox.
         *
         * @return array
         *    A list(string $accessToken, string $userId), where
         *    $accessToken can be used to construct a {@link Client} and
         *    $userId is the user ID of the user's Dropbox account.
         *
         * @throws Exception
         *    Thrown if there's an error getting the access token from Dropbox.
         */
    

    File: /destinations/dropbox2/lib/Dropbox/WriteMode.php

    /**
     * Describes how a file should be saved when it is written to Dropbox.
     */
    
        /**
         * The URL parameters to pass to the file uploading endpoint to achieve the
         * desired write mode.
         *
         * @var array
         */
    
        /**
         * @internal
         */
    
        /**
         * @internal
         */
    
        /**
         * Returns a {@link WriteMode} for adding a new file.  If a file at the specified path already
         * exists, the new file will be renamed automatically.
         *
         * For example, if you're trying to upload a file to "/Notes/Groceries.txt", but there's
         * already a file there, your file will be written to "/Notes/Groceries (1).txt".
         *
         * You can determine whether your file was renamed by checking the "path" field of the
         * metadata object returned by the API call.
         *
         * @return WriteMode
         */
    
        /**
         * Returns a {@link WriteMode} for forcing a file to be at a certain path.  If there's already
         * a file at that path, the existing file will be overwritten.  If there's a folder at that
         * path, however, it will not be overwritten and the API call will fail.
         *
         * @return WriteMode
         */
    
        /**
         * Returns a {@link WriteMode} for updating an existing file.  This is useful for when you
         * have downloaded a file, made modifications, and want to save your modifications back to
         * Dropbox.  You need to specify the revision of the copy of the file you downloaded (it's
         * the "rev" parameter of the file's metadata object).
         *
         * If, when you attempt to save, the revision of the file currently on Dropbox matches
         * $revToReplace, the file on Dropbox will be overwritten with the new contents you provide.
         *
         * If the revision of the file currently on Dropbox doesn't match $revToReplace, Dropbox will
         * create a new file and save your contents to that file.  For example, if the original file
         * path is "/Notes/Groceries.txt", the new file's path might be
         * "/Notes/Groceries (conflicted copy).txt".
         *
         * You can determine whether your file was renamed by checking the "path" field of the
         * metadata object returned by the API call.
         *
         * @param string $revToReplace
         * @return WriteMode
         */
    
        /**
         * Check that a function argument is of type WriteMode.
         *
         * @internal
         */
    
        /**
         * Check that a function argument is either null or of type
         * WriteMode.
         *
         * @internal
         */
    

    File: /destinations/dropbox2/lib/Dropbox/autoload.php

    /**
     * @internal
     */
    

    File: /destinations/dropbox2/lib/Dropbox/Exception/BadRequest.php

    /**
     * Thrown when the server tells us that our request was invalid.  This is typically due to an
     * HTTP 400 response from the server.
     */
    
        /**
         * @internal
         */
    

    File: /destinations/dropbox2/lib/Dropbox/Exception/BadResponse.php

    /**
     * When this SDK can't understand the response from the server.  This could be due to a bug in this
     * SDK or a buggy response from the Dropbox server.
     */
    
        /**
         * @internal
         */
    

    File: /destinations/dropbox2/lib/Dropbox/Exception/BadResponseCode.php

    /**
     * Thrown when the the Dropbox server responds with an HTTP status code we didn't expect.
     */
    
        /** @var int */
    
        /**
         * @param string $message
         * @param int $statusCode
         *
         * @internal
         */
    
        /**
         * The HTTP status code returned by the Dropbox server.
         *
         * @return int
         */
    

    File: /destinations/dropbox2/lib/Dropbox/Exception/InvalidAccessToken.php

    /**
     * The Dropbox server said that the access token you used is invalid or expired.  You should
     * probably ask the user to go through the OAuth authorization flow again to get a new access
     * token.
     */
    
        /**
         * @internal
         */
    

    File: /destinations/dropbox2/lib/Dropbox/Exception/NetworkIO.php

    /**
     * There was a network I/O error when making the request.
     */
    
        /**
         * @internal
         */
    

    File: /destinations/dropbox2/lib/Dropbox/Exception/ProtocolError.php

    /**
     * There was an protocol misunderstanding between this SDK and the server.  One of us didn't
     * understand what the other one was saying.
     */
    
        /**
         * @internal
         */
    

    File: /destinations/dropbox2/lib/Dropbox/Exception/RetryLater.php

    /**
     * The Dropbox server said it couldn't fulfil our request right now, but that we should try
     * again later.
     */
    
        /**
         * @internal
         */
    

    File: /destinations/dropbox2/lib/Dropbox/Exception/ServerError.php

    /**
     * The Dropbox server said that there was an internal error when trying to fulfil our request.
     * This usually corresponds to an HTTP 500 response.
     */
    
        /** @internal */
    

    File: /destinations/dropbox2/lib/Dropbox/WebAuthException/BadRequest.php

    /**
     * Thrown if the redirect URL was missing parameters or if the given parameters were not valid.
     *
     * The recommended action is to show an HTTP 400 error page.
     */
    
        /**
         * @param string $message
         *
         * @internal
         */
    

    File: /destinations/dropbox2/lib/Dropbox/WebAuthException/BadState.php

    /**
     * Thrown if all the parameters are correct, but there's no CSRF token in the session.  This
     * probably means that the session expired.
     *
     * The recommended action is to redirect the user's browser to try the approval process again.
     */
    
        /**
         * @param string $message
         *
         * @internal
         */
    

    File: /destinations/dropbox2/lib/Dropbox/WebAuthException/Csrf.php

    /**
     * Thrown if the given 'state' parameter doesn't contain the CSRF token from the user's session.
     * This is blocked to prevent CSRF attacks.
     *
     * The recommended action is to respond with an HTTP 403 error page.
     */
    
        /**
         * @param string $message
         *
         * @internal
         */
    

    File: /destinations/dropbox2/lib/Dropbox/WebAuthException/NotApproved.php

    /**
     * Thrown if the user chose not to grant your app access to their Dropbox account.
     */
    
        /**
         * @param string $message
         *
         * @internal
         */
    

    File: /destinations/dropbox2/lib/Dropbox/WebAuthException/Provider.php

    /**
     * Thrown if Dropbox returns some other error about the authorization request.
     */
    
        /**
         * @param string $message
         *
         * @internal
         */
    

    File: /destinations/_s3lib/aws-sdk/config-sample.inc.php

    /**
     * Stores your AWS account information. Add your account information, and then rename this file
     * to 'config.inc.php'.
     *
     * @version 2011.12.14
     * @license See the included NOTICE.md file for more information.
     * @copyright See the included NOTICE.md file for more information.
     * @link http://aws.amazon.com/php/ PHP Developer Center
     * @link http://aws.amazon.com/security-credentials AWS Security Credentials
     */
    
    /*###################################################################################################
    
    	As of version 1.5, the AWS SDK for PHP uses the CFCredentials class to handle credentials.
    	This class has the advantage of being able to support multiple sets of credentials at a time,
    	including the ability for credential sets to inherit settings from other credential sets.
    
    	Some example uses are noted at https://gist.github.com/1478912
    
    	Notes:
    
    	* You can define one or more credential sets.
    
    	* Credential sets can be named anything that PHP allows for an associative array key;
    	  "production", "staging", etc., are just sample values. Feel free to rename them.
    
    	* A credential set only has four required entries: key, secret, default_cache_config and
    	  certificate_authority. Aside from these, you can add any additional bits of information
    	  you'd like to keep easily accessible (e.g., multi-factor authentication device key, your
    	  AWS Account ID, your canonical identifiers).
    
    	* Additional credential sets can inherit the properties of another credential set using the
    	  @inherit keyword.
    
    	* If more than one credential set is provided, a default credential set must be specified
    	  using the @default keyword.
    
    	* If you only have one credential set, you can set it to the @default keyword.
    
    	* View the documentation for the CFCredentials::set() method to view usage examples.
    
    ###################################################################################################*/
    
    /**
     * Create a list of credential sets that can be used with the SDK.
     */
    

    File: /destinations/_s3lib/aws-sdk/config.inc.php


    File: /destinations/_s3lib/aws-sdk/sdk.class.php

    /*
     * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
     *
     * Licensed under the Apache License, Version 2.0 (the "License").
     * You may not use this file except in compliance with the License.
     * A copy of the License is located at
     *
     *  http://aws.amazon.com/apache2.0
     *
     * or in the "license" file accompanying this file. This file is distributed
     * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
     * express or implied. See the License for the specific language governing
     * permissions and limitations under the License.
     */
    
    /*%******************************************************************************************%*/
    
    /**
     * Default CFRuntime Exception.
     */
    

    Class: CFRuntime_Exception extends Exception {

    /**
     * Parsing Exception.
     */
    

    Class: Parser_Exception extends Exception {

    /*%******************************************************************************************%*/
    
    /*%******************************************************************************************%*/
    
    /**
     * Core functionality and default settings shared across all SDK classes. All methods and properties in this
     * class are inherited by the service-specific classes.
     *
     * @version 2012.05.25
     * @license See the included NOTICE.md file for more information.
     * @copyright See the included NOTICE.md file for more information.
     * @link http://aws.amazon.com/php/ PHP Developer Center
     */
    
    	/*%******************************************************************************************%*/
    
    	/**
    	 * Name of the software.
    	 */
    
    	/**
    	 * Version of the software.
    	 */
    
    	/**
    	 * Build ID of the software.
    	 */
    
    	/**
    	 * User agent string used to identify the software.
    	 */
    
    	/*%******************************************************************************************%*/
    
    	/**
    	 * The Amazon API Key.
    	 */
    
    	/**
    	 * The Amazon API Secret Key.
    	 */
    
    	/**
    	 * The Amazon Authentication Token.
    	 */
    
    	/**
    	 * Handle for the utility functions.
    	 */
    
    	/**
    	 * An identifier for the current AWS service.
    	 */
    
    	/**
    	 * The supported API version.
    	 */
    
    	/**
    	 * The state of whether auth should be handled as AWS Query.
    	 */
    
    	/**
    	 * The default class to use for utilities (defaults to ).
    	 */
    
    	/**
    	 * The default class to use for HTTP requests (defaults to ).
    	 */
    
    	/**
    	 * The default class to use for HTTP responses (defaults to ).
    	 */
    
    	/**
    	 * The default class to use for parsing XML (defaults to ).
    	 */
    
    	/**
    	 * The default class to use for handling batch requests (defaults to ).
    	 */
    
    	/**
    	 * The state of SSL/HTTPS use.
    	 */
    
    	/**
    	 * The state of SSL certificate verification.
    	 */
    
    	/**
    	 * The proxy to use for connecting.
    	 */
    
    	/**
    	 * The alternate hostname to use, if any.
    	 */
    
    	/**
    	 * The state of the capability to override the hostname with .
    	 */
    
    	/**
    	 * The alternate port number to use, if any.
    	 */
    
    	/**
    	 * The alternate resource prefix to use, if any.
    	 */
    
    	/**
    	 * The state of cache flow usage.
    	 */
    
    	/**
    	 * The caching class to use.
    	 */
    
    	/**
    	 * The caching location to use.
    	 */
    
    	/**
    	 * When the cache should be considered stale.
    	 */
    
    	/**
    	 * The state of cache compression.
    	 */
    
    	/**
    	 * The current instantiated cache object.
    	 */
    
    	/**
    	 * The current instantiated batch request object.
    	 */
    
    	/**
    	 * The internally instantiated batch request object.
    	 */
    
    	/**
    	 * The state of batch flow usage.
    	 */
    
    	/**
    	 * The state of the cache deletion setting.
    	 */
    
    	/**
    	 * The state of the debug mode setting.
    	 */
    
    	/**
    	 * The number of times to retry failed requests.
    	 */
    
    	/**
    	 * The user-defined callback function to call when a stream is read from.
    	 */
    
    	/**
    	 * The user-defined callback function to call when a stream is written to.
    	 */
    
    	/**
    	 * The credentials to use for authentication.
    	 */
    
    	/**
    	 * The authentication class to use.
    	 */
    
    	/**
    	 * The operation to execute.
    	 */
    
    	/**
    	 * The payload to send.
    	 */
    
    	/**
    	 * The string prefix to prepend to the operation name.
    	 */
    
    	/**
    	 * The number of times a request has been retried.
    	 */
    
    	/**
    	 * The state of whether the response should be parsed or not.
    	 */
    
    	/*%******************************************************************************************%*/
    
    	/**
    	 * The constructor. This class should not be instantiated directly. Rather, a service-specific class
    	 * should be instantiated.
    	 *
    	 * @param array $options (Optional) An associative array of parameters that can have the following keys: 
      *
    • certificate_authority - boolean - Optional - Determines which Cerificate Authority file to use. A value of boolean false will use the Certificate Authority file available on the system. A value of boolean true will use the Certificate Authority provided by the SDK. Passing a file system path to a Certificate Authority file (chmodded to 0755) will use that. Leave this set to false if you're not sure.
    • *
    • credentials - string - Optional - The name of the credential set to use for authentication.
    • *
    • default_cache_config - string - Optional - This option allows a preferred storage type to be configured for long-term caching. This can be changed later using the method. Valid values are: apc, xcache, or a file system path such as ./cache or /tmp/cache/.
    • *
    • key - string - Optional - Your AWS key, or a session key. If blank, the default credential set will be used.
    • *
    • instance_profile_timeout - integer - Optional - When retrieving IAM instance profile credentials, there is a hard connection timeout that defaults to 2 seconds to prevent unnecessary on non-EC2 systems. This setting allows you to change that timeout if needed.
    • *
    • secret - string - Optional - Your AWS secret key, or a session secret key. If blank, the default credential set will be used.
    • *
    • token - string - Optional - An AWS session token.
    • *
    • use_instance_profile_credentials - boolean - Optional - Forces the use of IAM Instance Profile credentials, even when regular credentials are provided.
    * @return void */
    	/**
    	 * Alternate approach to constructing a new instance. Supports chaining.
    	 *
    	 * @param array $options (Optional) An associative array of parameters that can have the following keys: 
      *
    • certificate_authority - boolean - Optional - Determines which Cerificate Authority file to use. A value of boolean false will use the Certificate Authority file available on the system. A value of boolean true will use the Certificate Authority provided by the SDK. Passing a file system path to a Certificate Authority file (chmodded to 0755) will use that. Leave this set to false if you're not sure.
    • *
    • credentials - string - Optional - The name of the credential set to use for authentication.
    • *
    • default_cache_config - string - Optional - This option allows a preferred storage type to be configured for long-term caching. This can be changed later using the method. Valid values are: apc, xcache, or a file system path such as ./cache or /tmp/cache/.
    • *
    • key - string - Optional - Your AWS key, or a session key. If blank, the default credential set will be used.
    • *
    • secret - string - Optional - Your AWS secret key, or a session secret key. If blank, the default credential set will be used.
    • *
    • token - string - Optional - An AWS session token.
    * @return void */
    	/*%******************************************************************************************%*/
    
    	/**
    	 * A magic method that allows `camelCase` method names to be translated into `snake_case` names.
    	 *
    	 * @param string $name (Required) The name of the method.
    	 * @param array $arguments (Required) The arguments passed to the method.
    	 * @return mixed The results of the intended method.
    	 */
    
    	/*%******************************************************************************************%*/
    
    	/**
    	 * Set the proxy settings to use.
    	 *
    	 * @param string $proxy (Required) Accepts proxy credentials in the following format: `proxy://user:pass@hostname:port`
    	 * @return $this A reference to the current instance.
    	 */
    
    	/**
    	 * Set the hostname to connect to. This is useful for alternate services that are API-compatible with
    	 * AWS, but run from a different hostname.
    	 *
    	 * @param string $hostname (Required) The alternate hostname to use in place of the default one. Useful for mock or test applications living on different hostnames.
    	 * @param integer $port_number (Optional) The alternate port number to use in place of the default one. Useful for mock or test applications living on different port numbers.
    	 * @return $this A reference to the current instance.
    	 */
    
    	/**
    	 * Set the resource prefix to use. This method is useful for alternate services that are API-compatible
    	 * with AWS.
    	 *
    	 * @param string $prefix (Required) An alternate prefix to prepend to the resource path. Useful for mock or test applications.
    	 * @return $this A reference to the current instance.
    	 */
    
    	/**
    	 * Disables any subsequent use of the  method.
    	 *
    	 * @param boolean $override (Optional) Whether or not subsequent calls to  should be obeyed. A `false` value disables the further effectiveness of . Defaults to `true`.
    	 * @return $this A reference to the current instance.
    	 */
    
    	/**
    	 * Disables SSL/HTTPS connections for hosts that don't support them. Some services, however, still
    	 * require SSL support.
    	 *
    	 * This method will throw a user warning when invoked, which can be hidden by changing your
    	 *  settings.
    	 *
    	 * @return $this A reference to the current instance.
    	 */
    
    	/**
    	 * Disables the verification of the SSL Certificate Authority. Doing so can enable an attacker to carry
    	 * out a man-in-the-middle attack.
    	 *
    	 * https://secure.wikimedia.org/wikipedia/en/wiki/Man-in-the-middle_attack
    	 *
    	 * This method will throw a user warning when invoked, which can be hidden by changing your
    	 *  settings.
    	 *
    	 * @return $this A reference to the current instance.
    	 */
    
    	/**
    	 * Enables HTTP request/response header logging to `STDERR`.
    	 *
    	 * @param boolean $enabled (Optional) Whether or not to enable debug mode. Defaults to `true`.
    	 * @return $this A reference to the current instance.
    	 */
    
    	/**
    	 * Sets the maximum number of times to retry failed requests.
    	 *
    	 * @param integer $retries (Optional) The maximum number of times to retry failed requests. Defaults to `3`.
    	 * @return $this A reference to the current instance.
    	 */
    
    	/**
    	 * Set the caching configuration to use for response caching.
    	 *
    	 * @param string $location (Required) 

    The location to store the cache object in. This may vary by cache method.

    • File - The local file system paths such as ./cache (relative) or /tmp/cache/ (absolute). The location must be server-writable.
    • APC - Pass in apc to use this lightweight cache. You must have the APC extension installed.
    • XCache - Pass in xcache to use this lightweight cache. You must have the XCache extension installed.
    • Memcached - Pass in an indexed array of associative arrays. Each associative array should have a host and a port value representing a Memcached server to connect to.
    • PDO - A URL-style string (e.g. pdo.mysql://user:pass@localhost/cache) or a standard DSN-style string (e.g. pdo.sqlite:/sqlite/cache.db). MUST be prefixed with pdo.. See CachePDO and PDO for more details.
    * @param boolean $gzip (Optional) Whether or not data should be gzipped before being stored. A value of `true` will compress the contents before caching them. A value of `false` will leave the contents uncompressed. Defaults to `true`. * @return $this A reference to the current instance. */
    	/**
    	 * Register a callback function to execute whenever a data stream is read from using
    	 * .
    	 *
    	 * The user-defined callback function should accept three arguments:
    	 *
    	 * 
      *
    • $curl_handle - resource - Required - The cURL handle resource that represents the in-progress transfer.
    • *
    • $file_handle - resource - Required - The file handle resource that represents the file on the local file system.
    • *
    • $length - integer - Required - The length in kilobytes of the data chunk that was transferred.
    • *
    * * @param string|array|function $callback (Required) The callback function is called by , so you can pass the following values:
      *
    • The name of a global function to execute, passed as a string.
    • *
    • A method to execute, passed as array('ClassName', 'MethodName').
    • *
    • An anonymous function (PHP 5.3+).
    * @return $this A reference to the current instance. */
    	/**
    	 * Register a callback function to execute whenever a data stream is written to using
    	 * .
    	 *
    	 * The user-defined callback function should accept two arguments:
    	 *
    	 * 
      *
    • $curl_handle - resource - Required - The cURL handle resource that represents the in-progress transfer.
    • *
    • $length - integer - Required - The length in kilobytes of the data chunk that was transferred.
    • *
    * * @param string|array|function $callback (Required) The callback function is called by , so you can pass the following values:
      *
    • The name of a global function to execute, passed as a string.
    • *
    • A method to execute, passed as array('ClassName', 'MethodName').
    • *
    • An anonymous function (PHP 5.3+).
    * @return $this A reference to the current instance. */
    	/**
    	 * Fetches and caches STS credentials. This is meant to be used by the constructor, and is not to be
    	 * manually invoked.
    	 *
    	 * @param CacheCore $cache (Required) The a reference to the cache object that is being used to handle the caching.
    	 * @param array $options (Required) The options that were passed into the constructor.
    	 * @return mixed The data to be cached, or NULL.
    	 */
    
    	/**
    	 * Fetches and caches EC2 instance profile credentials. This is meant to be used by the constructor, and is not to
    	 * be manually invoked.
    	 *
    	 * @param CacheCore $cache (Required) The a reference to the cache object that is being used to handle the caching.
    	 * @param array $options (Required) The options that were passed into the constructor.
    	 * @return mixed The data to be cached, or NULL.
    	 */
    
    	/*%******************************************************************************************%*/
    
    	/**
    	 * Set a custom class for this functionality. Use this method when extending/overriding existing classes
    	 * with new functionality.
    	 *
    	 * The replacement class must extend from .
    	 *
    	 * @param string $class (Optional) The name of the new class to use for this functionality.
    	 * @return $this A reference to the current instance.
    	 */
    
    	/**
    	 * Set a custom class for this functionality. Use this method when extending/overriding existing classes
    	 * with new functionality.
    	 *
    	 * The replacement class must extend from .
    	 *
    	 * @param string $class (Optional) The name of the new class to use for this functionality.
    	 * @param $this A reference to the current instance.
    	 */
    
    	/**
    	 * Set a custom class for this functionality. Use this method when extending/overriding existing classes
    	 * with new functionality.
    	 *
    	 * The replacement class must extend from .
    	 *
    	 * @param string $class (Optional) The name of the new class to use for this functionality.
    	 * @return $this A reference to the current instance.
    	 */
    
    	/**
    	 * Set a custom class for this functionality. Use this method when extending/overriding existing classes
    	 * with new functionality.
    	 *
    	 * The replacement class must extend from .
    	 *
    	 * @param string $class (Optional) The name of the new class to use for this functionality.
    	 * @return $this A reference to the current instance.
    	 */
    
    	/**
    	 * Set a custom class for this functionality. Use this method when extending/overriding existing classes
    	 * with new functionality.
    	 *
    	 * The replacement class must extend from .
    	 *
    	 * @param string $class (Optional) The name of the new class to use for this functionality.
    	 * @return $this A reference to the current instance.
    	 */
    
    	/*%******************************************************************************************%*/
    
    	/**
    	 * Default, shared method for authenticating a connection to AWS.
    	 *
    	 * @param string $operation (Required) Indicates the operation to perform.
    	 * @param array $payload (Required) An associative array of parameters for authenticating. See the individual methods for allowed keys.
    	 * @return CFResponse Object containing a parsed HTTP response.
    	 */
    
    		/*%******************************************************************************************%*/
    
    		/*%******************************************************************************************%*/
    
    	/*%******************************************************************************************%*/
    
    	/**
    	 * Specifies that the intended request should be queued for a later batch request.
    	 *
    	 * @param CFBatchRequest $queue (Optional) The  instance to use for managing batch requests. If not available, it generates a new instance of .
    	 * @return $this A reference to the current instance.
    	 */
    
    	/**
    	 * Executes the batch request queue by sending all queued requests.
    	 *
    	 * @param boolean $clear_after_send (Optional) Whether or not to clear the batch queue after sending a request. Defaults to `true`. Set this to `false` if you are caching batch responses and want to retrieve results later.
    	 * @return array An array of  objects.
    	 */
    
    	/**
    	 * Parses a response body into a PHP object if appropriate.
    	 *
    	 * @param CFResponse|string $response (Required) The  object to parse, or an XML string that would otherwise be a response body.
    	 * @param string $content_type (Optional) The content-type to use when determining how to parse the content.
    	 * @return CFResponse|string A parsed  object, or parsed XML.
    	 */
    
    	/*%******************************************************************************************%*/
    
    	/**
    	 * Specifies that the resulting  object should be cached according to the settings from
    	 * .
    	 *
    	 * @param string|integer $expires (Required) The time the cache is to expire. Accepts a number of seconds as an integer, or an amount of time, as a string, that is understood by  (e.g. "1 hour").
    	 * @return $this A reference to the current instance.
    	 */
    
    	/**
    	 * The callback function that is executed when the cache doesn't exist or has expired. The response of
    	 * this method is cached. Accepts identical parameters as the  method. Never call this
    	 * method directly -- it is used internally by the caching system.
    	 *
    	 * @param string $operation (Required) Indicates the operation to perform.
    	 * @param array $payload (Required) An associative array of parameters for authenticating. See the individual methods for allowed keys.
    	 * @return CFResponse A parsed HTTP response.
    	 */
    
    	/**
    	 * Used for caching the results of a batch request. Never call this method directly; it is used
    	 * internally by the caching system.
    	 *
    	 * @param CFBatchRequest $batch (Required) The batch request object to send.
    	 * @return CFResponse A parsed HTTP response.
    	 */
    
    	/**
    	 * Deletes a cached  object using the specified cache storage type.
    	 *
    	 * @return boolean A value of `true` if cached object exists and is successfully deleted, otherwise `false`.
    	 */
    
    /**
     * Contains the functionality for auto-loading service classes.
     */
    
    	/*%******************************************************************************************%*/
    
    	/**
    	 * Automatically load classes that aren't included.
    	 *
    	 * @param string $class (Required) The classname to load.
    	 * @return boolean Whether or not the file was successfully loaded.
    	 */
    
    /*%******************************************************************************************%*/
    

    File: /destinations/_s3lib/aws-sdk/utilities/array.class.php

    /*
     * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
     *
     * Licensed under the Apache License, Version 2.0 (the "License").
     * You may not use this file except in compliance with the License.
     * A copy of the License is located at
     *
     *  http://aws.amazon.com/apache2.0
     *
     * or in the "license" file accompanying this file. This file is distributed
     * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
     * express or implied. See the License for the specific language governing
     * permissions and limitations under the License.
     */
    
    /*%******************************************************************************************%*/
    
    /**
     * The  object extends PHP's built-in  object by providing convenience methods for
     * rapidly manipulating array data. Specifically, the `CFArray` object is intended for working with
     *  and  objects that are returned by AWS services.
     *
     * @version 2012.01.17
     * @license See the included NOTICE.md file for more information.
     * @copyright See the included NOTICE.md file for more information.
     * @link http://aws.amazon.com/php/ PHP Developer Center
     * @link http://php.net/ArrayObject ArrayObject
     */
    
    	/**
    	 * Constructs a new instance of .
    	 *
    	 * @param mixed $input (Optional) The input parameter accepts an array or an Object. The default value is an empty array.
    	 * @param integer $flags (Optional) Flags to control the behavior of the ArrayObject object. Defaults to .
    	 * @param string $iterator_class (Optional) Specify the class that will be used for iteration of the  object.  is the default class used.
    	 * @return mixed Either an array of matches, or a single  element.
    	 */
    
    	/**
    	 * Alternate approach to constructing a new instance. Supports chaining.
    	 *
    	 * @param mixed $input (Optional) The input parameter accepts an array or an Object. The default value is an empty array.
    	 * @param integer $flags (Optional) Flags to control the behavior of the ArrayObject object. Defaults to .
    	 * @param string $iterator_class (Optional) Specify the class that will be used for iteration of the  object.  is the default class used.
    	 * @return mixed Either an array of matches, or a single  element.
    	 */
    
    	/**
    	 * Handles how the object is rendered when cast as a string.
    	 *
    	 * @return string The word "Array".
    	 */
    
    	/*%******************************************************************************************%*/
    
    	/**
    	 * Maps each element in the  object as an integer.
    	 *
    	 * @return array The contents of the  object mapped as integers.
    	 */
    
    	/**
    	 * Maps each element in the CFArray object as a string.
    	 *
    	 * @param string $pcre (Optional) A Perl-Compatible Regular Expression (PCRE) to filter the names against.
    	 * @return array The contents of the  object mapped as strings. If there are no results, the method will return an empty array.
    	 */
    
    	/*%******************************************************************************************%*/
    
    	/**
    	 * Verifies that _all_ responses were successful. A single failed request will cause  to return false. Equivalent to , except it applies to all responses.
    	 *
    	 * @return boolean Whether _all_ requests were successful or not.
    	 */
    
    	/*%******************************************************************************************%*/
    
    	/**
    	 * Iterates over a  object, and executes a function for each matched element.
    	 *
    	 * The callback function takes three parameters: 
      *
    • $item - mixed - Optional - The individual node in the array.
    • *
    • $key - mixed - Optional - The key for the array node.
    • *
    • $bind - mixed - Optional - The variable that was passed into the $bind parameter.
    * * @param string|function $callback (Required) The callback function to execute. PHP 5.3 or newer can use an anonymous function. * @param mixed $bind (Optional) A variable from the calling scope to pass-by-reference into the local scope of the callback function. * @return CFArray The original object. */
    	/**
    	 * Passes each element in the current  object through a function, and produces a new  object containing the return values.
    	 *
    	 * The callback function takes three parameters: 
      *
    • $item - mixed - Optional - The individual node in the array.
    • *
    • $key - mixed - Optional - The key for the array node.
    • *
    • $bind - mixed - Optional - The variable that was passed into the $bind parameter.
    * * @param string|function $callback (Required) The callback function to execute. PHP 5.3 or newer can use an anonymous function. * @param mixed $bind (Optional) A variable from the calling scope to pass-by-reference into the local scope of the callback function. * @return CFArray A new object containing the return values. */
    	/**
    	 * Filters the list of nodes by passing each value in the current  object through a function. The node will be removed if the function returns `false`.
    	 *
    	 * The callback function takes three parameters: 
      *
    • $item - mixed - Optional - The individual node in the array.
    • *
    • $key - mixed - Optional - The key for the array node.
    • *
    • $bind - mixed - Optional - The variable that was passed into the $bind parameter.
    * * @param string|function $callback (Required) The callback function to execute. PHP 5.3 or newer can use an anonymous function. * @param mixed $bind (Optional) A variable from the calling scope to pass-by-reference into the local scope of the callback function. * @return CFArray A new object containing the return values. */
    	/**
    	 * Alias for . This functionality was incorrectly named _reduce_ in earlier versions of the SDK.
    	 *
    	 * @param string|function $callback (Required) The callback function to execute. PHP 5.3 or newer can use an anonymous function.
    	 * @param mixed $bind (Optional) A variable from the calling scope to pass-by-reference into the local scope of the callback function.
    	 * @return CFArray A new  object containing the return values.
    	 */
    
    	/*%******************************************************************************************%*/
    
    	/**
    	 * Gets the first result in the array.
    	 *
    	 * @return mixed The first result in the  object. Returns `false` if there are no items in the array.
    	 */
    
    	/**
    	 * Gets the last result in the array.
    	 *
    	 * @return mixed The last result in the  object. Returns `false` if there are no items in the array.
    	 */
    
    	/**
    	 * Removes all `null` values from an array.
    	 *
    	 * @return CFArray A new  object containing the non-null values.
    	 */
    
    	/**
    	 * Reindexes the array, starting from zero.
    	 *
    	 * @return CFArray A new  object with indexes starting at zero.
    	 */
    
    	/*%******************************************************************************************%*/
    
    	/**
    	 * Gets the current XML node as a JSON string.
    	 *
    	 * @return string The current XML node as a JSON string.
    	 */
    
    	/**
    	 * Gets the current XML node as a YAML string.
    	 *
    	 * @return string The current XML node as a YAML string.
    	 */
    

    Class: CFArray_Exception extends Exception {


    File: /destinations/_s3lib/aws-sdk/utilities/batchrequest.class.php

    /*
     * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
     *
     * Licensed under the Apache License, Version 2.0 (the "License").
     * You may not use this file except in compliance with the License.
     * A copy of the License is located at
     *
     *  http://aws.amazon.com/apache2.0
     *
     * or in the "license" file accompanying this file. This file is distributed
     * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
     * express or implied. See the License for the specific language governing
     * permissions and limitations under the License.
     */
    
    /*%******************************************************************************************%*/
    
    /**
     * Default CFBatchRequest Exception.
     */
    

    Class: CFBatchRequest_Exception extends Exception {

    /*%******************************************************************************************%*/
    
    /**
     * Simplifies the flow involved with managing and executing a batch request queue. Batch requesting is the
     * ability to queue up a series of requests and execute them all in parallel. This allows for faster
     * application performance when a lot of requests are involved.
     *
     * @version 2011.12.02
     * @license See the included NOTICE.md file for more information.
     * @copyright See the included NOTICE.md file for more information.
     * @link http://aws.amazon.com/php/ PHP Developer Center
     */
    
    	/**
    	 * Stores the cURL handles that are to be processed.
    	 */
    
    	/**
    	 * Stores the size of the request window.
    	 */
    
    	/**
    	 * The proxy to use for connecting.
    	 */
    
    	/**
    	 * The helpers to use when connecting.
    	 */
    
    	/**
    	 * The active credential set.
    	 */
    
    	/*%******************************************************************************************%*/
    
    	/**
    	 * Constructs a new instance of this class.
    	 *
    	 * @param integer $limit (Optional) The size of the request window. Defaults to unlimited.
    	 * @return boolean `false` if no valid values are set, otherwise `true`.
    	 */
    
    	/**
    	 * Sets the AWS credentials to use for the batch request.
    	 *
    	 * @param CFCredential $credentials (Required) The credentials to use for signing and making requests.
    	 * @return $this A reference to the current instance.
    	 */
    
    	/**
    	 * Adds a new cURL handle to the request queue.
    	 *
    	 * @param resource $handle (Required) A cURL resource to add to the queue.
    	 * @return $this A reference to the current instance.
    	 */
    
    	/**
    	 * Executes the batch request queue.
    	 *
    	 * @param array $opt (DO NOT USE) Enabled for compatibility with the method this overrides, although any values passed will be ignored.
    	 * @return array An indexed array of  objects.
    	 */
    

    File: /destinations/_s3lib/aws-sdk/utilities/complextype.class.php

    /*
     * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
     *
     * Licensed under the Apache License, Version 2.0 (the "License").
     * You may not use this file except in compliance with the License.
     * A copy of the License is located at
     *
     *  http://aws.amazon.com/apache2.0
     *
     * or in the "license" file accompanying this file. This file is distributed
     * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
     * express or implied. See the License for the specific language governing
     * permissions and limitations under the License.
     */
    
    /*%******************************************************************************************%*/
    
    /**
     * Contains utility methods used for converting array, JSON, and YAML data types into query string keys.
     *
     * @version 2010.11.11
     * @license See the included NOTICE.md file for more information.
     * @copyright See the included NOTICE.md file for more information.
     * @link http://aws.amazon.com/php/ PHP Developer Center
     */
    
    	/**
    	 * Takes a JSON object, as a string, to convert to query string keys.
    	 *
    	 * @param string $json (Required) A JSON object. The JSON string should use canonical rules (e.g., double quotes, quoted keys) as is required by PHP's  function.
    	 * @param string $member (Optional) The name of the "member" property that AWS uses for lists in certain services. Defaults to an empty string.
    	 * @param string $default_key (Optional) The default key to use when the value for `$data` is a string. Defaults to an empty string.
    	 * @return array The option group parameters to merge into another method's `$opt` parameter.
    	 */
    
    	/**
    	 * Takes a YAML object, as a string, to convert to query string keys.
    	 *
    	 * @param string $yaml (Required) A YAML object.
    	 * @param string $member (Optional) The name of the "member" property that AWS uses for lists in certain services. Defaults to an empty string.
    	 * @param string $default_key (Optional) The default key to use when the value for `$data` is a string. Defaults to an empty string.
    	 * @return array The option group parameters to merge into another method's `$opt` parameter.
    	 */
    
    	/**
    	 * Takes an associative array to convert to query string keys.
    	 *
    	 * @param array $map (Required) An associative array.
    	 * @param string $member (Optional) The name of the "member" property that AWS uses for lists in certain services. Defaults to an empty string.
    	 * @param string $default_key (Optional) The default key to use when the value for `$data` is a string. Defaults to an empty string.
    	 * @return array The option group parameters to merge into another method's `$opt` parameter.
    	 */
    
    	/**
    	 * A protected method that is used by ,  and .
    	 *
    	 * @param string|array $data (Required) The data to iterate over.
    	 * @param string $member (Optional) The name of the "member" property that AWS uses for lists in certain services. Defaults to an empty string.
    	 * @param string $key (Optional) The default key to use when the value for `$data` is a string. Defaults to an empty string.
    	 * @param array $out (Optional) INTERNAL ONLY. The array that contains the calculated values up to this point.
    	 * @return array The option group parameters to merge into another method's `$opt` parameter.
    	 */
    

    File: /destinations/_s3lib/aws-sdk/utilities/credential.class.php

    /*
     * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
     *
     * Licensed under the Apache License, Version 2.0 (the "License").
     * You may not use this file except in compliance with the License.
     * A copy of the License is located at
     *
     *  http://aws.amazon.com/apache2.0
     *
     * or in the "license" file accompanying this file. This file is distributed
     * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
     * express or implied. See the License for the specific language governing
     * permissions and limitations under the License.
     */
    
    /*%******************************************************************************************%*/
    
    /**
     * The  class represents an individual credential set.
     *
     * @version 2011.11.15
     * @license See the included NOTICE.md file for more information.
     * @copyright See the included NOTICE.md file for more information.
     * @link http://aws.amazon.com/php/ PHP Developer Center
     */
    
    	/**
    	 * Stores the internal  representation of the collection.
    	 */
    
    	/**
    	* Default getter. Enables syntax such as $object->method->chained_method();. Also supports
    	* $object->key. Matching methods are prioritized over matching keys.
    	*
    	* @param string $name (Required) The name of the method to execute or key to retrieve.
    	* @return mixed The results of calling the function $name(), or the value of the key $object[$name].
    	*/
    
    	/**
    	* Default setter.
    	*
    	* @param string $name (Required) The name of the method to execute.
    	* @param string $value (Required) The value to pass to the method.
    	* @return mixed The results of calling the function, $name.
    	*/
    
    	/**
    	 * Create a clone of the object.
    	 *
    	 * @return CFCredential A clone of the current instance.
    	 */
    
    	/*%******************************************************************************************%*/
    
    	/**
    	 * Constructs a new instance of the  class.
    	 */
    
    	/**
    	 * Check whether or not a specific offset exists.
    	 *
    	 * @param integer $offset (Required) The location in the collection to verify the existence of.
    	 * @return boolean A value of true indicates that the collection offset exists. A value of false indicates that it does not.
    	 */
    
    	/**
    	 * Get the value for a specific offset.
    	 *
    	 * @param integer $offset (Required) The location in the collection to retrieve the value for.
    	 * @return mixed The value of the collection offset. NULL is returned if the offset does not exist.
    	 */
    
    	/**
    	 * Set the value for a specific offset.
    	 *
    	 * @param integer $offset (Required) The location in the collection to set a new value for.
    	 * @param mixed $value (Required) The new value for the collection location.
    	 * @return CFCredential A reference to the current collection.
    	 */
    
    	/**
    	 * Unset the value for a specific offset.
    	 *
    	 * @param integer $offset (Required) The location in the collection to unset.
    	 * @return CFCredential A reference to the current collection.
    	 */
    
    	/**
    	 * Merge another instance of  onto this one.
    	 *
    	 * @param CFCredential $credential (Required) Another instance of .
    	 * @return CFCredential A reference to the current collection.
    	 */
    
    	/**
    	 * Retrieves the data as a standard array.
    	 *
    	 * @return array The data as an array.
    	 */
    

    File: /destinations/_s3lib/aws-sdk/utilities/credentials.class.php

    /*
     * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
     *
     * Licensed under the Apache License, Version 2.0 (the "License").
     * You may not use this file except in compliance with the License.
     * A copy of the License is located at
     *
     *  http://aws.amazon.com/apache2.0
     *
     * or in the "license" file accompanying this file. This file is distributed
     * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
     * express or implied. See the License for the specific language governing
     * permissions and limitations under the License.
     */
    
    /*%******************************************************************************************%*/
    
    /**
     * The  class enables developers to easily switch between multiple sets of credentials.
     *
     * @version 2012.07.13
     * @license See the included NOTICE.md file for more information.
     * @copyright See the included NOTICE.md file for more information.
     * @link http://aws.amazon.com/php/ PHP Developer Center
     */
    
    	/**
    	 * The key used to specify the default credential set
    	 */
    
    	/**
    	 * The key used to identify inherited credentials
    	 */
    
    	/**
    	 * Stores the credentials
    	 */
    
    	/**
    	 * Prevents this class from being constructed
    	 */
    
    	/**
    	 * Stores the credentials for re-use.
    	 *
    	 * @param array $credential_sets (Required) The named credential sets that should be made available to the application.
    	 * @return void
    	 */
    
    	/**
    	 * Retrieves the requested credentials from the internal credential store.
    	 *
    	 * @param string $credential_set (Optional) The name of the credential set to retrieve. The default value is set in DEFAULT_KEY.
    	 * @return stdClass A stdClass object where the properties represent the keys that were provided.
    	 */
    
    	/**
    	 * Retrieves a list of all available credential set names.
    	 *
    	 * @return CFArray A list of all available credential set names.
    	 */
    

    Class: CFCredentials_Exception extends Exception {


    File: /destinations/_s3lib/aws-sdk/utilities/gzipdecode.class.php

    /*
     * Copyright 2011-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
     *
     * Licensed under the Apache License, Version 2.0 (the "License").
     * You may not use this file except in compliance with the License.
     * A copy of the License is located at
     *
     *  http://aws.amazon.com/apache2.0
     *
     * or in the "license" file accompanying this file. This file is distributed
     * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
     * express or implied. See the License for the specific language governing
     * permissions and limitations under the License.
     */
    
    /**
     * SimplePie
     *
     * A PHP-Based RSS and Atom Feed Framework.
     * Takes the hard work out of managing a complete RSS/Atom solution.
     *
     * Copyright (c) 2004-2010, Ryan Parman, Geoffrey Sneddon, Ryan McCue, and contributors
     * All rights reserved.
     *
     * Redistribution and use in source and binary forms, with or without modification, are
     * permitted provided that the following conditions are met:
     *
     * 	* Redistributions of source code must retain the above copyright notice, this list of
     * 	  conditions and the following disclaimer.
     *
     * 	* Redistributions in binary form must reproduce the above copyright notice, this list
     * 	  of conditions and the following disclaimer in the documentation and/or other materials
     * 	  provided with the distribution.
     *
     * 	* Neither the name of the SimplePie Team nor the names of its contributors may be used
     * 	  to endorse or promote products derived from this software without specific prior
     * 	  written permission.
     *
     * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS
     * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
     * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS
     * AND CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
     * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
     * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
     * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
     * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
     * POSSIBILITY OF SUCH DAMAGE.
     *
     * @package SimplePie
     * @version 1.3-dev
     * @copyright 2004-2010 Ryan Parman, Geoffrey Sneddon, Ryan McCue
     * @author Ryan Parman
     * @author Geoffrey Sneddon
     * @author Ryan McCue
     * @link http://simplepie.org/ SimplePie
     * @license http://www.opensource.org/licenses/bsd-license.php BSD License
     * @todo phpDoc comments
     */
    
    /*%******************************************************************************************%*/
    
    /**
     * Handles a variety of primary and edge cases around gzip/deflate decoding in PHP.
     *
     * @version 2011.02.21
     * @license See the included NOTICE.md file for more information.
     * @copyright See the included NOTICE.md file for more information.
     * @link http://aws.amazon.com/php/ PHP Developer Center
     * @link https://github.com/simplepie/simplepie/blob/master/SimplePie/gzdecode.php SimplePie_gzdecode
     */
    
    	/**
    	 * Compressed data
    	 *
    	 * @access private
    	 * @see gzdecode::$data
    	 */
    
    	/**
    	 * Size of compressed data
    	 *
    	 * @access private
    	 */
    
    	/**
    	 * Minimum size of a valid gzip string
    	 *
    	 * @access private
    	 */
    
    	/**
    	 * Current position of pointer
    	 *
    	 * @access private
    	 */
    
    	/**
    	 * Flags (FLG)
    	 *
    	 * @access private
    	 */
    
    	/**
    	 * Uncompressed data
    	 *
    	 * @access public
    	 * @see gzdecode::$compressed_data
    	 */
    
    	/**
    	 * Modified time
    	 *
    	 * @access public
    	 */
    
    	/**
    	 * Extra Flags
    	 *
    	 * @access public
    	 */
    
    	/**
    	 * Operating System
    	 *
    	 * @access public
    	 */
    
    	/**
    	 * Subfield ID 1
    	 *
    	 * @access public
    	 * @see gzdecode::$extra_field
    	 * @see gzdecode::$SI2
    	 */
    
    	/**
    	 * Subfield ID 2
    	 *
    	 * @access public
    	 * @see gzdecode::$extra_field
    	 * @see gzdecode::$SI1
    	 */
    
    	/**
    	 * Extra field content
    	 *
    	 * @access public
    	 * @see gzdecode::$SI1
    	 * @see gzdecode::$SI2
    	 */
    
    	/**
    	 * Original filename
    	 *
    	 * @access public
    	 */
    
    	/**
    	 * Human readable comment
    	 *
    	 * @access public
    	 */
    
    	/**
    	 * Don't allow anything to be set
    	 *
    	 * @access public
    	 */
    
    	/**
    	 * Set the compressed string and related properties
    	 *
    	 * @access public
    	 */
    
    	/**
    	 * Decode the GZIP stream
    	 *
    	 * @access public
    	 */
    
    			/*if (extension_loaded('hash') && sprintf('%u', current(unpack('V', hash('crc32b', $this->data)))) !== sprintf('%u', $crc))
    			{
    				return false;
    			}*/
    

    File: /destinations/_s3lib/aws-sdk/utilities/hadoopbase.class.php

    /*
     * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
     *
     * Licensed under the Apache License, Version 2.0 (the "License").
     * You may not use this file except in compliance with the License.
     * A copy of the License is located at
     *
     *  http://aws.amazon.com/apache2.0
     *
     * or in the "license" file accompanying this file. This file is distributed
     * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
     * express or implied. See the License for the specific language governing
     * permissions and limitations under the License.
     */
    
    /*%******************************************************************************************%*/
    
    /**
     * Contains core functionality for Hadoop helpers.
     *
     * @version 2012.07.24
     * @license See the included NOTICE.md file for more information.
     * @copyright See the included NOTICE.md file for more information.
     * @link http://aws.amazon.com/php/ PHP Developer Center
     * @link http://hadoop.apache.org Apache Hadoop
     */
    
    	/**
    	 * Runs a specified script on the master node of your cluster.
    	 *
    	 * @param string $script (Required) The script to run with `script-runner.jar`.
    	 * @param array $args (Optional) An indexed array of arguments to pass to the script.
    	 * @return array A standard array that is intended to be passed into a  object.
    	 */
    
    	/**
    	 * Prepares a Hive or Pig script before passing it to the script runner.
    	 *
    	 * @param string $type (Required) The type of script to run. [Allowed values: `hive`, `pig`].
    	 * @param array $args (Optional) An indexed array of arguments to pass to the script.
    	 * @return array A standard array that is intended to be passed into a  object.
    	 * @link http://hive.apache.org Apache Hive
    	 * @link http://pig.apache.org Apache Pig
    	 */
    

    File: /destinations/_s3lib/aws-sdk/utilities/hadoopbootstrap.class.php

    /*
     * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
     *
     * Licensed under the Apache License, Version 2.0 (the "License").
     * You may not use this file except in compliance with the License.
     * A copy of the License is located at
     *
     *  http://aws.amazon.com/apache2.0
     *
     * or in the "license" file accompanying this file. This file is distributed
     * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
     * express or implied. See the License for the specific language governing
     * permissions and limitations under the License.
     */
    
    /*%******************************************************************************************%*/
    
    /**
     * Contains a set of pre-built Amazon EMR Hadoop Bootstrap Actions.
     *
     * @version 2012.07.24
     * @license See the included NOTICE.md file for more information.
     * @copyright See the included NOTICE.md file for more information.
     * @link http://aws.amazon.com/php/ PHP Developer Center
     * @link http://hadoop.apache.org Apache Hadoop
     */
    
    	/**
    	 * Create a new run-if bootstrap action which lets you conditionally run bootstrap actions.
    	 *
    	 * @param string $condition (Required) The condition to evaluate. If true, the bootstrap action executes.
    	 * @param array $args (Optional) An indexed array of arguments to pass to the script.
    	 * @return array A configuration set to be provided when running a job flow.
    	 */
    
    	/**
    	 * Specify options to merge with Hadoop's default configuration.
    	 *
    	 * @param string $file (Required) The Hadoop configuration file to merge with. [Allowed values: CFHadoopBootstrap::CONFIG_SITE, CFHadoopBootstrap::CONFIG_DEFAULT, CFHadoopBootstrap::CONFIG_CORE, CFHadoopBootstrap::CONFIG_HDFS, CFHadoopBootstrap::CONFIG_MAPREDUCE]
    	 * @param string|array $config (Required) This can either be an XML file in S3 (as s3://bucket/path), or an associative array of key-value pairs.
    	 * @return array A configuration set to be provided when running a job flow.
    	 */
    
        /**
         * Create a new bootstrap action which lets you configure Hadoop's daemons. The options are written to
         * the hadoop-user-env.sh file.
         *
         * @param string $daemon_type (Required) The Hadoop daemon to configure.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • HeapSize - integer - Optional - The requested heap size of the daemon, in megabytes.
    • *
    • CLIOptions - string - Optional - Additional Java command line arguments to pass to the daemon.
    • *
    • Replace - boolean - Optional - Whether or not the file should be replaced. A value of true will replace the existing configuration file. A value of false will append the options to the configuration file.
    * @return array A configuration set to be provided when running a job flow. */

    File: /destinations/_s3lib/aws-sdk/utilities/hadoopstep.class.php

    /*
     * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
     *
     * Licensed under the Apache License, Version 2.0 (the "License").
     * You may not use this file except in compliance with the License.
     * A copy of the License is located at
     *
     *  http://aws.amazon.com/apache2.0
     *
     * or in the "license" file accompanying this file. This file is distributed
     * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
     * express or implied. See the License for the specific language governing
     * permissions and limitations under the License.
     */
    
    /*%******************************************************************************************%*/
    
    /**
     * Contains a set of pre-built Amazon EMR Hadoop steps.
     *
     * @version 2012.07.24
     * @license See the included NOTICE.md file for more information.
     * @copyright See the included NOTICE.md file for more information.
     * @link http://aws.amazon.com/php/ PHP Developer Center
     * @link http://hadoop.apache.org Apache Hadoop
     */
    
    	/**
    	 * When ran as the first step in your job flow, enables the Hadoop debugging UI in the AWS
    	 * Management Console.
    	 *
    	 * @return array A standard array that is intended to be passed into a  object.
    	 */
    
    	/**
    	 * Step that installs Hive on your job flow.
    	 *
    	 * @return array A standard array that is intended to be passed into a  object.
    	 * @link http://hive.apache.org Apache Hive
    	 */
    
    	/**
    	 * Step that runs a Hive script on your job flow.
    	 *
    	 * @param string $script (Required) The script to run with `script-runner.jar`.
    	 * @param array $args (Optional) An indexed array of arguments to pass to the script.
    	 * @return array A standard array that is intended to be passed into a  object.
    	 * @link http://hive.apache.org Apache Hive
    	 */
    
    	/**
    	 * Step that installs Pig on your job flow.
    	 *
    	 * @return array A standard array that is intended to be passed into a  object.
    	 * @link http://pig.apache.org Apache Pig
    	 */
    
    	/**
    	 * Step that runs a Pig script on your job flow.
    	 *
    	 * @param string $script (Required) The script to run with `script-runner.jar`.
    	 * @param array $args (Optional) An indexed array of arguments to pass to the script.
    	 * @return array A standard array that is intended to be passed into a  object.
    	 * @link http://pig.apache.org Apache Pig
    	 */
    

    File: /destinations/_s3lib/aws-sdk/utilities/info.class.php

    /*
     * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
     *
     * Licensed under the Apache License, Version 2.0 (the "License").
     * You may not use this file except in compliance with the License.
     * A copy of the License is located at
     *
     *  http://aws.amazon.com/apache2.0
     *
     * or in the "license" file accompanying this file. This file is distributed
     * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
     * express or implied. See the License for the specific language governing
     * permissions and limitations under the License.
     */
    
    /*%******************************************************************************************%*/
    
    /**
     * Contains a series of methods that provide information about the SDK.
     *
     * @version 2010.10.01
     * @license See the included NOTICE.md file for more information.
     * @copyright See the included NOTICE.md file for more information.
     * @link http://aws.amazon.com/php/ PHP Developer Center
     */
    
    	/**
    	 * Gets information about the web service APIs that the SDK supports.
    	 *
    	 * @return array An associative array containing service classes and API versions.
    	 */
    

    File: /destinations/_s3lib/aws-sdk/utilities/json.class.php

    /*
     * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
     *
     * Licensed under the Apache License, Version 2.0 (the "License").
     * You may not use this file except in compliance with the License.
     * A copy of the License is located at
     *
     *  http://aws.amazon.com/apache2.0
     *
     * or in the "license" file accompanying this file. This file is distributed
     * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
     * express or implied. See the License for the specific language governing
     * permissions and limitations under the License.
     */
    
    /*%******************************************************************************************%*/
    
    /**
     * Handles the conversion of data from JSON to other formats.
     *
     * @version 2012.07.27
     * @license See the included NOTICE.md file for more information.
     * @copyright See the included NOTICE.md file for more information.
     * @link http://aws.amazon.com/php/ PHP Developer Center
     */
    
    	/**
    	 * Converts a JSON string to a CFSimpleXML object.
    	 *
    	 * @param string|array $json (Required) Pass either a valid JSON-formatted string, or an associative array.
    	 * @param string $parser (Optional) The name of the class to use to parse the XML. This class should extend SimpleXMLElement. Has a default value of CFSimpleXML.
    	 * @return CFSimpleXML An XML representation of the data.
    	 */
    
    /**
     * Default JSON Exception.
     */
    

    Class: JSON_Exception extends Exception {


    File: /destinations/_s3lib/aws-sdk/utilities/manifest.class.php

    /*
     * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
     *
     * Licensed under the Apache License, Version 2.0 (the "License").
     * You may not use this file except in compliance with the License.
     * A copy of the License is located at
     *
     *  http://aws.amazon.com/apache2.0
     *
     * or in the "license" file accompanying this file. This file is distributed
     * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
     * express or implied. See the License for the specific language governing
     * permissions and limitations under the License.
     */
    
    /*%******************************************************************************************%*/
    
    /**
     * Simplifies the process of generating manifests for the AWS Import/Export service.
     *
     * @version 2010.11.22
     * @license See the included NOTICE.md file for more information.
     * @copyright See the included NOTICE.md file for more information.
     * @link http://aws.amazon.com/php/ PHP Developer Center
     */
    
    	/**
    	 * Takes a JSON object as a string to convert to a YAML manifest.
    	 *
    	 * @param string $json (Required) A JSON object. The JSON string should use canonical rules (e.g., double quotes, quoted keys) as is required by PHP's  function.
    	 * @return string A YAML manifest document.
    	 */
    
    	/**
    	 * Takes an associative array to convert to a YAML manifest.
    	 *
    	 * @param array $map (Required) An associative array.
    	 * @return string A YAML manifest document.
    	 */
    

    File: /destinations/_s3lib/aws-sdk/utilities/mimetypes.class.php

    /*
     * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
     *
     * Licensed under the Apache License, Version 2.0 (the "License").
     * You may not use this file except in compliance with the License.
     * A copy of the License is located at
     *
     *  http://aws.amazon.com/apache2.0
     *
     * or in the "license" file accompanying this file. This file is distributed
     * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
     * express or implied. See the License for the specific language governing
     * permissions and limitations under the License.
     */
    
    /*%******************************************************************************************%*/
    
    /**
     * Simplifies the process of looking up the content-types for a variety of file extensions.
     *
     * @version 2010.07.20
     * @license See the included NOTICE.md file for more information.
     * @copyright See the included NOTICE.md file for more information.
     * @link http://aws.amazon.com/php/ PHP Developer Center
     */
    
    	/**
    	 * Map of the extension-to-mime-types that we support.
    	 */
    
    	/**
    	 * Attempt to match the file extension to a known mime-type.
    	 *
    	 * @param string $ext (Required) The file extension to attempt to map.
    	 * @return string The mime-type to use for the file extension.
    	 */
    

    File: /destinations/_s3lib/aws-sdk/utilities/policy.class.php

    /*
     * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
     *
     * Licensed under the Apache License, Version 2.0 (the "License").
     * You may not use this file except in compliance with the License.
     * A copy of the License is located at
     *
     *  http://aws.amazon.com/apache2.0
     *
     * or in the "license" file accompanying this file. This file is distributed
     * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
     * express or implied. See the License for the specific language governing
     * permissions and limitations under the License.
     */
    
    /*%******************************************************************************************%*/
    
    /**
     * Simplifies the process of signing JSON policy documents.
     *
     * @version 2011.04.25
     * @license See the included NOTICE.md file for more information.
     * @copyright See the included NOTICE.md file for more information.
     * @link http://aws.amazon.com/php/ PHP Developer Center
     */
    
    	/**
    	 * Stores the object that contains the authentication credentials.
    	 */
    
    	/**
    	 * Stores the policy object that we're working with.
    	 */
    
    	/**
    	 * Constructs a new instance of this class.
    	 *
    	 * @param CFRuntime $auth (Required) An instance of any authenticated AWS object that is an instance of  (e.g. , ).
    	 * @param string|array $policy (Required) The associative array representing the S3 policy to use, or a string of JSON content.
    	 * @return $this A reference to the current instance.
    	 * @link http://docs.amazonwebservices.com/AmazonS3/2006-03-01/dev/index.html?HTTPPOSTForms.html S3 Policies
    	 * @link http://docs.amazonwebservices.com/AmazonS3/latest/dev/index.html?AccessPolicyLanguage.html Access Policy Language
    	 */
    
    	/**
    	 * Alternate approach to constructing a new instance. Supports chaining.
    	 *
    	 * @param CFRuntime $auth (Required) An instance of any authenticated AWS object that is an instance of  (e.g. , ).
    	 * @param string|array $policy (Required) The associative array representing the S3 policy to use, or a string of JSON content.
    	 * @return $this A reference to the current instance.
    	 */
    
    	/**
    	 * Get the key from the authenticated instance.
    	 *
    	 * @return string The key from the authenticated instance.
    	 */
    
    	/**
    	 * Base64-encodes the JSON string.
    	 *
    	 * @return string The Base64-encoded version of the JSON string.
    	 */
    
    	/**
    	 * Gets the JSON string with the whitespace removed.
    	 *
    	 * @return string The JSON string without extraneous whitespace.
    	 */
    
    	/**
    	 * Gets the JSON string with the whitespace removed.
    	 *
    	 * @return string The Base64-encoded, signed JSON string.
    	 */
    
    	/**
    	 * Decode a policy that was returned from the service.
    	 *
    	 * @param string $response (Required) The policy returned by AWS that you want to decode into an object.
    	 * @return string The Base64-encoded, signed JSON string.
    	 */
    

    File: /destinations/_s3lib/aws-sdk/utilities/request.class.php

    /*
     * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
     *
     * Licensed under the Apache License, Version 2.0 (the "License").
     * You may not use this file except in compliance with the License.
     * A copy of the License is located at
     *
     *  http://aws.amazon.com/apache2.0
     *
     * or in the "license" file accompanying this file. This file is distributed
     * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
     * express or implied. See the License for the specific language governing
     * permissions and limitations under the License.
     */
    
    /*%******************************************************************************************%*/
    
    /**
     * Wraps the underlying `RequestCore` class with some AWS-specific customizations.
     *
     * @version 2011.12.02
     * @license See the included NOTICE.md file for more information.
     * @copyright See the included NOTICE.md file for more information.
     * @link http://aws.amazon.com/php/ PHP Developer Center
     */
    
    	/**
    	 * The default class to use for HTTP Requests (defaults to ).
    	 */
    
    	/**
    	 * The default class to use for HTTP Responses (defaults to ).
    	 */
    
    	/**
    	 * The active credential set.
    	 */
    
    	/*%******************************************************************************************%*/
    
    	/**
    	 * Constructs a new instance of this class.
    	 *
    	 * @param string $url (Optional) The URL to request or service endpoint to query.
    	 * @param string $proxy (Optional) The faux-url to use for proxy settings. Takes the following format: `proxy://user:pass@hostname:port`
    	 * @param array $helpers (Optional) An associative array of classnames to use for request, and response functionality. Gets passed in automatically by the calling class.
    	 * @param CFCredential $credentials (Required) The credentials to use for signing and making requests.
    	 * @return $this A reference to the current instance.
    	 */
    

    File: /destinations/_s3lib/aws-sdk/utilities/response.class.php

    /*
     * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
     *
     * Licensed under the Apache License, Version 2.0 (the "License").
     * You may not use this file except in compliance with the License.
     * A copy of the License is located at
     *
     *  http://aws.amazon.com/apache2.0
     *
     * or in the "license" file accompanying this file. This file is distributed
     * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
     * express or implied. See the License for the specific language governing
     * permissions and limitations under the License.
     */
    
    /*%******************************************************************************************%*/
    
    /**
     * Wraps the underlying `ResponseCore` class with some AWS-specific customizations. Response
     * bodies are typically represented as CFSimpleXML objects.
     *
     * @version 2010.10.11
     * @license See the included NOTICE.md file for more information.
     * @copyright See the included NOTICE.md file for more information.
     * @link http://aws.amazon.com/php/ PHP Developer Center
     */
    

    Class: CFResponse extends ResponseCore {


    File: /destinations/_s3lib/aws-sdk/utilities/simplexml.class.php

    /*
     * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
     *
     * Licensed under the Apache License, Version 2.0 (the "License").
     * You may not use this file except in compliance with the License.
     * A copy of the License is located at
     *
     *  http://aws.amazon.com/apache2.0
     *
     * or in the "license" file accompanying this file. This file is distributed
     * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
     * express or implied. See the License for the specific language governing
     * permissions and limitations under the License.
     */
    
    /*%******************************************************************************************%*/
    
    /**
     * Wraps the underlying `SimpleXMLIterator` class with enhancements for rapidly traversing the
     * DOM tree, converting types, and comparisons. You will need to be familiar with traversing
     * objects with the PHP SimpleXML extension in order to use this class effectively. Also,
     * CFResponse bodies are typically represented as CFSimpleXML objects.
     *
     * @version 2012.05.31
     * @license See the included NOTICE.md file for more information.
     * @copyright See the included NOTICE.md file for more information.
     * @link http://aws.amazon.com/php/ PHP Developer Center
     * @link http://php.net/SimpleXML SimpleXML
     */
    
    	/**
    	 * Stores the namespace name to use in XPath queries.
    	 */
    
    	/**
    	 * Stores the namespace URI to use in XPath queries.
    	 */
    
    	/**
    	 * Stores whether or not the value is encoded.
    	 */
    
    	/**
    	 * Catches requests made to methods that don't exist. Specifically, looks for child nodes via XPath.
    	 *
    	 * @param string $name (Required) The name of the method.
    	 * @param array $arguments (Required) The arguments passed to the method.
    	 * @return mixed Either an array of matches, or a single  element.
    	 */
    
    	/**
    	 * Gets the current XML node as a true string.
    	 *
    	 * @return string The current XML node as a true string.
    	 */
    
    	/**
    	 * Alternate approach to constructing a new instance. Supports chaining.
    	 *
    	 * @param string $data (Required) A well-formed XML string or the path or URL to an XML document if $data_is_url is true.
    	 * @param integer $options (Optional) Used to specify additional LibXML parameters. The default value is 0.
    	 * @param boolean $data_is_url (Optional) Specify a value of true to specify that data is a path or URL to an XML document instead of string data. The default value is false.
    	 * @param string $ns (Optional) The XML namespace to return values for.
    	 * @param boolean $is_prefix (Optional) (No description provided by PHP.net.)
    	 * @return CFSimpleXML Creates a new  element.
    	 */
    
    	/*%******************************************************************************************%*/
    
    	/**
    	 * Wraps the results of an XPath query in a  object.
    	 *
    	 * @param string $expr (Required) The XPath expression to use to query the XML response.
    	 * @return CFArray A  object containing the results of the XPath query.
    	 */
    
    	/**
    	 * Gets the parent or a preferred ancestor of the current element.
    	 *
    	 * @param string $node (Optional) Name of the ancestor element to match and return.
    	 * @return CFSimpleXML A  object containing the requested node.
    	 */
    
    	/*%******************************************************************************************%*/
    
    	/**
    	 * Gets the current XML node as a true string.
    	 *
    	 * @return string The current XML node as a true string.
    	 */
    
    	/**
    	 * Gets the current XML node as , a child class of PHP's  class.
    	 *
    	 * @return CFArray The current XML node as a  object.
    	 */
    
    	/**
    	 * Gets the current XML node as a stdClass object.
    	 *
    	 * @return array The current XML node as a stdClass object.
    	 */
    
    	/**
    	 * Gets the current XML node as a JSON string.
    	 *
    	 * @return string The current XML node as a JSON string.
    	 */
    
    	/**
    	 * Gets the current XML node as a YAML string.
    	 *
    	 * @return string The current XML node as a YAML string.
    	 */
    
    	/*%******************************************************************************************%*/
    
    	/**
    	 * Whether or not the current node exactly matches the compared value.
    	 *
    	 * @param string $value (Required) The value to compare the current node to.
    	 * @return boolean Whether or not the current node exactly matches the compared value.
    	 */
    
    	/**
    	 * Whether or not the current node contains the compared value.
    	 *
    	 * @param string $value (Required) The value to use to determine whether it is contained within the node.
    	 * @return boolean Whether or not the current node contains the compared value.
    	 */
    
    	/**
    	 * Whether or not the current node matches the regular expression pattern.
    	 *
    	 * @param string $pattern (Required) The pattern to match the current node against.
    	 * @return boolean Whether or not the current node matches the pattern.
    	 */
    
    	/**
    	 * Whether or not the current node starts with the compared value.
    	 *
    	 * @param string $value (Required) The value to compare the current node to.
    	 * @return boolean Whether or not the current node starts with the compared value.
    	 */
    
    	/**
    	 * Whether or not the current node ends with the compared value.
    	 *
    	 * @param string $value (Required) The value to compare the current node to.
    	 * @return boolean Whether or not the current node ends with the compared value.
    	 */
    

    File: /destinations/_s3lib/aws-sdk/utilities/stacktemplate.class.php

    /*
     * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
     *
     * Licensed under the Apache License, Version 2.0 (the "License").
     * You may not use this file except in compliance with the License.
     * A copy of the License is located at
     *
     *  http://aws.amazon.com/apache2.0
     *
     * or in the "license" file accompanying this file. This file is distributed
     * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
     * express or implied. See the License for the specific language governing
     * permissions and limitations under the License.
     */
    
    /*%******************************************************************************************%*/
    
    /**
     * Simplifies the process of preparing JSON stack templates.
     *
     * @version 2011.02.03
     * @license See the included NOTICE.md file for more information.
     * @copyright See the included NOTICE.md file for more information.
     * @link http://aws.amazon.com/php/ PHP Developer Center
     */
    
    	/**
    	 * Removes whitespace from a JSON template.
    	 *
    	 * @param string $template (Required) A JSON representation of the stack template. Must have strict JSON-specific formatting.
    	 * @return string A JSON representation of the template.
    	 */
    
    	/**
    	 * Converts an associative array (map) of the template into a JSON string.
    	 *
    	 * @param array $template (Required) An associative array that maps directly to its JSON counterpart.
    	 * @return string A JSON representation of the template.
    	 */
    

    File: /destinations/_s3lib/aws-sdk/utilities/stepconfig.class.php

    /*
     * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
     *
     * Licensed under the Apache License, Version 2.0 (the "License").
     * You may not use this file except in compliance with the License.
     * A copy of the License is located at
     *
     *  http://aws.amazon.com/apache2.0
     *
     * or in the "license" file accompanying this file. This file is distributed
     * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
     * express or implied. See the License for the specific language governing
     * permissions and limitations under the License.
     */
    
    /*%******************************************************************************************%*/
    
    /**
     * Contains functionality for simplifying Amazon EMR Hadoop steps.
     *
     * @version 2010.11.16
     * @license See the included NOTICE.md file for more information.
     * @copyright See the included NOTICE.md file for more information.
     * @link http://aws.amazon.com/php/ PHP Developer Center
     */
    
    	/**
    	 * Stores the configuration map.
    	 */
    
    	/**
    	 * Constructs a new instance of this class.
    	 *
    	 * @param array $config (Required) An associative array representing the Hadoop step configuration.
    	 * @return $this A reference to the current instance.
    	 */
    
    	/**
    	 * Constructs a new instance of this class, and allows chaining.
    	 *
    	 * @param array $config (Required) An associative array representing the Hadoop step configuration.
    	 * @return $this A reference to the current instance.
    	 */
    
    	/**
    	 * Returns a JSON representation of the object when typecast as a string.
    	 *
    	 * @return string A JSON representation of the object.
    	 * @link http://www.php.net/manual/en/language.oop5.magic.php#language.oop5.magic.tostring PHP Magic Methods
    	 */
    
    	/**
    	 * Returns the configuration data.
    	 *
    	 * @return array The configuration data.
    	 */
    

    File: /destinations/_s3lib/aws-sdk/utilities/utilities.class.php

    /*
     * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
     *
     * Licensed under the Apache License, Version 2.0 (the "License").
     * You may not use this file except in compliance with the License.
     * A copy of the License is located at
     *
     *  http://aws.amazon.com/apache2.0
     *
     * or in the "license" file accompanying this file. This file is distributed
     * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
     * express or implied. See the License for the specific language governing
     * permissions and limitations under the License.
     */
    
    /*%******************************************************************************************%*/
    
    /**
     * Contains a set of utility methods for connecting to, and working with, AWS.
     *
     * @version 2010.09.30
     * @license See the included NOTICE.md file for more information.
     * @copyright See the included NOTICE.md file for more information.
     * @link http://aws.amazon.com/php/ PHP Developer Center
     */
    
    	/*%******************************************************************************************%*/
    
    	/**
    	 * Define the RFC 2616-compliant date format.
    	 */
    
    	/**
    	 * Define the ISO-8601-compliant date format.
    	 */
    
    	/**
    	 * Define the MySQL-compliant date format.
    	 */
    
    	/**
    	 * Define the Signature v4 date format.
    	 */
    
    	/*%******************************************************************************************%*/
    
    	/**
    	 * Constructs a new instance of this class.
    	 *
    	 * @return $this A reference to the current instance.
    	 */
    
    	/**
    	 * Retrieves the value of a class constant, while avoiding the `T_PAAMAYIM_NEKUDOTAYIM` error. Misspelled because `const` is a reserved word.
    	 *
    	 * @param object $class (Required) An instance of the class containing the constant.
    	 * @param string $const (Required) The name of the constant to retrieve.
    	 * @return mixed The value of the class constant.
    	 */
    
    	/**
    	 * Convert a HEX value to Base64.
    	 *
    	 * @param string $str (Required) Value to convert.
    	 * @return string Base64-encoded string.
    	 */
    
    	/**
    	 * Convert an associative array into a query string.
    	 *
    	 * @param array $array (Required) Array to convert.
    	 * @return string URL-friendly query string.
    	 */
    
    	/**
    	 * Convert an associative array into a sign-able string.
    	 *
    	 * @param array $array (Required) Array to convert.
    	 * @return string URL-friendly sign-able string.
    	 */
    
    	/**
    	 * Encode the value according to RFC 3986.
    	 *
    	 * @param string $string (Required) String to convert.
    	 * @return string URL-friendly sign-able string.
    	 */
    
    	/**
    	 * Convert a query string into an associative array. Multiple, identical keys will become an indexed array.
    	 *
    	 * @param string $qs (Required) Query string to convert.
    	 * @return array Associative array of keys and values.
    	 */
    
    	/**
    	 * Return human readable file sizes.
    	 *
    	 * @author Aidan Lister 
    	 * @author Ryan Parman 
    	 * @license http://www.php.net/license/3_01.txt PHP License
    	 * @param integer $size (Required) Filesize in bytes.
    	 * @param string $unit (Optional) The maximum unit to use. Defaults to the largest appropriate unit.
    	 * @param string $default (Optional) The format for the return string. Defaults to `%01.2f %s`.
    	 * @return string The human-readable file size.
    	 * @link http://aidanlister.com/repos/v/function.size_readable.php Original Function
    	 */
    
    	/**
    	 * Convert a number of seconds into Hours:Minutes:Seconds.
    	 *
    	 * @param integer $seconds (Required) The number of seconds to convert.
    	 * @return string The formatted time.
    	 */
    
    	/**
    	 * Returns the first value that is set. Based on [Try.these()](http://api.prototypejs.org/language/Try/these/) from [Prototype](http://prototypejs.org).
    	 *
    	 * @param array $attrs (Required) The attributes to test, as strings. Intended for testing properties of the $base object, but also works with variables if you place an @ symbol at the beginning of the command.
    	 * @param object $base (Optional) The base object to use, if any.
    	 * @param mixed $default (Optional) What to return if there are no matches. Defaults to `null`.
    	 * @return mixed Either a matching property of a given object, boolean `false`, or any other data type you might choose.
    	 */
    
    	/**
    	 * Can be removed once all calls are updated.
    	 *
    	 * @deprecated Use  instead.
    	 * @param mixed $obj (Required) The PHP object to convert into a JSON string.
    	 * @return string A JSON string.
    	 */
    
    	/**
    	 * Converts a SimpleXML response to an array structure.
    	 *
    	 * @param ResponseCore $response (Required) A response value.
    	 * @return array The response value as a standard, multi-dimensional array.
    	 */
    
    	/**
    	 * Checks to see if a date stamp is ISO-8601 formatted, and if not, makes it so.
    	 *
    	 * @param string $datestamp (Required) A date stamp, or a string that can be parsed into a date stamp.
    	 * @return string An ISO-8601 formatted date stamp.
    	 */
    
    	/**
    	 * Determines whether the data is Base64 encoded or not.
    	 *
    	 * @license http://us.php.net/manual/en/function.base64-decode.php#81425 PHP License
    	 * @param string $s (Required) The string to test.
    	 * @return boolean Whether the string is Base64 encoded or not.
    	 */
    
    	/**
    	 * Determines whether the data is a JSON string or not.
    	 *
    	 * @param string $s (Required) The string to test.
    	 * @return boolean Whether the string is a valid JSON object or not.
    	 */
    
    	/**
    	 * Decodes `\uXXXX` entities into their real unicode character equivalents.
    	 *
    	 * @param string $s (Required) The string to decode.
    	 * @return string The decoded string.
    	 */
    
    	/**
    	 * Generates a random GUID.
    	 *
    	 * @author Alix Axel 
    	 * @license http://www.php.net/license/3_01.txt PHP License
    	 * @return string A random GUID.
    	 */
    

    File: /destinations/_s3lib/aws-sdk/lib/dom/ArrayToDOMDocument.php

    /**
     * @author Omer Hassan
     * @author Ryan Parman
     * @license MIT
     */
    
    	/**
    	 * @param array $source
    	 * @param string $rootTagName
    	 * @return DOMDocument
    	 */
    
    	/**
    	 * @param array $source
    	 * @param string $rootTagName
    	 * @param bool $formatOutput
    	 * @return string
    	 */
    
    	/**
    	 * @param DOMDocument $document
    	 * @return array
    	 */
    
    	/**
    	 * @param string $xmlString
    	 * @return array
    	 */
    
    	/**
    	 * @param mixed $source
    	 * @param string $tagName
    	 * @param DOMDocument $document
    	 * @return DOMNode
    	 */
    
    	/**
    	 * @param DOMNode $domNode
    	 * @return array
    	 */
    

    File: /destinations/_s3lib/aws-sdk/lib/dom/Transmogrifier.php

    /**
     * Copyright (c) 2010-2012 [Ryan Parman](http://ryanparman.com)
     * Copyright (c) 2012 Amazon.com, Inc. or its affiliates.
     *
     * Permission is hereby granted, free of charge, to any person obtaining a copy
     * of this software and associated documentation files (the "Software"), to deal
     * in the Software without restriction, including without limitation the rights
     * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
     * copies of the Software, and to permit persons to whom the Software is
     * furnished to do so, subject to the following conditions:
     *
     * The above copyright notice and this permission notice shall be included in
     * all copies or substantial portions of the Software.
     *
     * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
     * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
     * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
     * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
     * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
     * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
     * THE SOFTWARE.
     *
     * 
     */
    
    /**
     * Magically transmogrifies arrays into XML documents.
     */
    
    	/******************************************************************************/
    
    	/******************************************************************************/
    
    	/**
    	 * Public method for converting an array into an XML DOMDocument object.
    	 *
    	 * @param  array  $source      The source array to convert into an XML document.
    	 * @param  string $rootTagName The name to assign to the root element of the XML document. The default value is "root".
    	 * @return string              The XML document as a string.
    	 */
    
    	/**
    	 * Public method for converting an array into an XML document.
    	 *
    	 * @param  array  $source      The source array to convert into an XML document.
    	 * @param  string $rootTagName The name to assign to the root element of the XML document. The default value is "root".
    	 * @return string              The XML document as a string.
    	 */
    
    	/******************************************************************************/
    
    	/**
    	 * Recursively iterates over each child of the array to produce an XML structure.
    	 *
    	 * @param  mixed               $source   The content node that is being evaluated.
    	 * @param  string              $tagName  The name of the current element.
    	 * @param  DOMDocument         $document The parent-most DOMDocument element that we're writing to.
    	 * @return DOMDocumentFragment           A DOM document fragment that can be appended to a parent DOM element.
    	 */
    
    	/**
    	 * Handle nodes that are only content.
    	 *
    	 * @param  mixed               $content  The content node to handle.
    	 * @param  DOMDocument         $document The parent-most DOMDocument element that we're writing to.
    	 * @param  DOMElement          $element  The parent node of the content to mark as encoded.
    	 * @return DOMDocumentFragment           A DOM document fragment that can be appended to a parent DOM element.
    	 */
    
    	/**
    	 * Clean-up the duplicate nodes caused by not being able to reference
    	 * grandparent nodes during the recursion flow.
    	 *
    	 * @param  DOMDocument $document The XML document to clean-up.
    	 * @return DOMDocument           The original XML document.
    	 */
    
    	/******************************************************************************/
    
    	/**
    	 * Method that checks to see if the array is indexed.
    	 *
    	 * @param  array   $array The array to test.
    	 * @return boolean        Whether or not the array is indexed. A value of true means that the array is indexed. A value of false means that the array is associative.
    	 */
    
    	/**
    	 * Method that checks to see if the array is associative.
    	 *
    	 * @param  array   $array The array to test.
    	 * @return boolean        Whether or not the array is associative. A value of true means that the array is associative. A value of false means that the array is indexed.
    	 */
    

    File: /destinations/_s3lib/aws-sdk/lib/cachecore/cacheapc.class.php

    /**
     * Container for all APC-based cache methods. Inherits additional methods from . Adheres
     * to the ICacheCore interface.
     *
     * @version 2012.04.17
     * @copyright 2006-2012 Ryan Parman
     * @copyright 2006-2010 Foleeo, Inc.
     * @copyright 2012 Amazon.com, Inc. or its affiliates.
     * @copyright 2008-2010 Contributors
     * @license http://opensource.org/licenses/bsd-license.php Simplified BSD License
     * @link http://github.com/skyzyx/cachecore CacheCore
     * @link http://getcloudfusion.com CloudFusion
     * @link http://php.net/apc APC
     */
    
    	/*%******************************************************************************************%*/
    
    	/**
    	 * Constructs a new instance of this class.
    	 *
    	 * @param string $name (Required) A name to uniquely identify the cache object.
    	 * @param string $location (Optional) The location to store the cache object in. This may vary by cache method. The default value is NULL.
    	 * @param integer $expires (Optional) The number of seconds until a cache object is considered stale. The default value is 0.
    	 * @param boolean $gzip (Optional) Whether data should be gzipped before being stored. The default value is true.
    	 * @return object Reference to the cache object.
    	 */
    
    	/**
    	 * Creates a new cache.
    	 *
    	 * @param mixed $data (Required) The data to cache.
    	 * @return boolean Whether the operation was successful.
    	 */
    
    	/**
    	 * Reads a cache.
    	 *
    	 * @return mixed Either the content of the cache object, or boolean `false`.
    	 */
    
    	/**
    	 * Updates an existing cache.
    	 *
    	 * @param mixed $data (Required) The data to cache.
    	 * @return boolean Whether the operation was successful.
    	 */
    
    	/**
    	 * Deletes a cache.
    	 *
    	 * @return boolean Whether the operation was successful.
    	 */
    
    	/**
    	 * Implemented here, but always returns `false`. APC manages its own expirations.
    	 *
    	 * @return boolean Whether the cache is expired or not.
    	 */
    
    	/**
    	 * Implemented here, but always returns `false`. APC manages its own expirations.
    	 *
    	 * @return mixed Either the Unix time stamp of the cache creation, or boolean `false`.
    	 */
    
    	/**
    	 * Implemented here, but always returns `false`. APC manages its own expirations.
    	 *
    	 * @return boolean Whether the operation was successful.
    	 */
    
    /*%******************************************************************************************%*/
    

    Class: CacheAPC_Exception extends CacheCore_Exception {


    File: /destinations/_s3lib/aws-sdk/lib/cachecore/cachecore.class.php

    /**
     * Container for all shared caching methods. This is not intended to be instantiated directly, but is
     * extended by the cache-specific classes.
     *
     * @version 2012.04.17
     * @copyright 2006-2012 Ryan Parman
     * @copyright 2006-2010 Foleeo, Inc.
     * @copyright 2012 Amazon.com, Inc. or its affiliates.
     * @copyright 2008-2010 Contributors
     * @license http://opensource.org/licenses/bsd-license.php Simplified BSD License
     * @link http://github.com/skyzyx/cachecore CacheCore
     * @link http://getcloudfusion.com CloudFusion
     */
    
    	/**
    	 * A name to uniquely identify the cache object by.
    	 */
    
    	/**
    	 * Where to store the cache.
    	 */
    
    	/**
    	 * The number of seconds before a cache object is considered stale.
    	 */
    
    	/**
    	 * Used internally to uniquely identify the location + name of the cache object.
    	 */
    
    	/**
    	 * Stores the time when the cache object was created.
    	 */
    
    	/**
    	 * Stores whether or not the content should be gzipped when stored
    	 */
    
    	/*%******************************************************************************************%*/
    
    	/**
    	 * Constructs a new instance of this class.
    	 *
    	 * @param string $name (Required) A name to uniquely identify the cache object.
    	 * @param string $location (Optional) The location to store the cache object in. This may vary by cache method. The default value is NULL.
    	 * @param integer $expires (Optional) The number of seconds until a cache object is considered stale. The default value is 0.
    	 * @param boolean $gzip (Optional) Whether data should be gzipped before being stored. The default value is true.
    	 * @return object Reference to the cache object.
    	 */
    
    	/**
    	 * Allows for chaining from the constructor. Requires PHP 5.3 or newer.
    	 *
    	 * @param string $name (Required) A name to uniquely identify the cache object.
    	 * @param string $location (Optional) The location to store the cache object in. This may vary by cache method. The default value is NULL.
    	 * @param integer $expires (Optional) The number of seconds until a cache object is considered stale. The default value is 0.
    	 * @param boolean $gzip (Optional) Whether data should be gzipped before being stored. The default value is true.
    	 * @return object Reference to the cache object.
    	 */
    
    	/**
    	 * Set the number of seconds until a cache expires.
    	 *
    	 * @param integer $expires (Optional) The number of seconds until a cache object is considered stale. The default value is 0.
    	 * @return $this
    	 */
    
    	/**
    	 * Provides a simple, straightforward cache-logic mechanism. Useful for non-complex response caches.
    	 *
    	 * @param string|function $callback (Required) The name of the function to fire when we need to fetch new data to cache.
    	 * @param array params (Optional) Parameters to pass into the callback function, as an array.
    	 * @return array The cached data being requested.
    	 */
    
    /*%******************************************************************************************%*/
    
    /*%******************************************************************************************%*/
    

    Class: CacheCore_Exception extends Exception {


    File: /destinations/_s3lib/aws-sdk/lib/cachecore/cachefile.class.php

    /**
     * Container for all file-based cache methods. Inherits additional methods from . Adheres
     * to the ICacheCore interface.
     *
     * @version 2012.04.17
     * @copyright 2006-2012 Ryan Parman
     * @copyright 2006-2010 Foleeo, Inc.
     * @copyright 2012 Amazon.com, Inc. or its affiliates.
     * @copyright 2008-2010 Contributors
     * @license http://opensource.org/licenses/bsd-license.php Simplified BSD License
     * @link http://github.com/skyzyx/cachecore CacheCore
     * @link http://getcloudfusion.com CloudFusion
     */
    
    	/*%******************************************************************************************%*/
    
    	/**
    	 * Constructs a new instance of this class.
    	 *
    	 * @param string $name (Required) A name to uniquely identify the cache object.
    	 * @param string $location (Optional) The location to store the cache object in. This may vary by cache method. The default value is NULL.
    	 * @param integer $expires (Optional) The number of seconds until a cache object is considered stale. The default value is 0.
    	 * @param boolean $gzip (Optional) Whether data should be gzipped before being stored. The default value is true.
    	 * @return object Reference to the cache object.
    	 */
    
    	/**
    	 * Creates a new cache.
    	 *
    	 * @param mixed $data (Required) The data to cache.
    	 * @return boolean Whether the operation was successful.
    	 */
    
    	/**
    	 * Reads a cache.
    	 *
    	 * @return mixed Either the content of the cache object, or boolean `false`.
    	 */
    
    				/*
    					This should only happen when someone changes the gzip settings and there is
    					existing data or someone has been mucking about in the cache folder manually.
    					Delete the bad entry since the file cache doesn't clean up after itself and
    					then return false so fresh data will be retrieved.
    				 */
    
    	/**
    	 * Updates an existing cache.
    	 *
    	 * @param mixed $data (Required) The data to cache.
    	 * @return boolean Whether the operation was successful.
    	 */
    
    	/**
    	 * Deletes a cache.
    	 *
    	 * @return boolean Whether the operation was successful.
    	 */
    
    	/**
    	 * Checks whether the cache object is expired or not.
    	 *
    	 * @return boolean Whether the cache is expired or not.
    	 */
    
    	/**
    	 * Retrieves the timestamp of the cache.
    	 *
    	 * @return mixed Either the Unix time stamp of the cache creation, or boolean `false`.
    	 */
    
    	/**
    	 * Resets the freshness of the cache.
    	 *
    	 * @return boolean Whether the operation was successful.
    	 */
    
    /*%******************************************************************************************%*/
    

    Class: CacheFile_Exception extends CacheCore_Exception {


    File: /destinations/_s3lib/aws-sdk/lib/cachecore/cachemc.class.php

    /**
     * Container for all Memcache-based cache methods. Inherits additional methods from . Adheres
     * to the ICacheCore interface.
     *
     * @version 2012.04.17
     * @copyright 2006-2012 Ryan Parman
     * @copyright 2006-2010 Foleeo, Inc.
     * @copyright 2012 Amazon.com, Inc. or its affiliates.
     * @copyright 2008-2010 Contributors
     * @license http://opensource.org/licenses/bsd-license.php Simplified BSD License
     * @link http://github.com/skyzyx/cachecore CacheCore
     * @link http://getcloudfusion.com CloudFusion
     * @link http://php.net/memcache Memcache
     * @link http://php.net/memcached Memcached
     */
    
    	/**
    	 * Holds the Memcache object.
    	 */
    
    	/**
    	 * Whether the Memcached extension is being used (as opposed to Memcache).
    	 */
    
    	/*%******************************************************************************************%*/
    
    	/**
    	 * Constructs a new instance of this class.
    	 *
    	 * @param string $name (Required) A name to uniquely identify the cache object.
    	 * @param string $location (Optional) The location to store the cache object in. This may vary by cache method. The default value is NULL.
    	 * @param integer $expires (Optional) The number of seconds until a cache object is considered stale. The default value is 0.
    	 * @param boolean $gzip (Optional) Whether data should be gzipped before being stored. The default value is true.
    	 * @return object Reference to the cache object.
    	 */
    
    	/**
    	 * Creates a new cache.
    	 *
    	 * @param mixed $data (Required) The data to cache.
    	 * @return boolean Whether the operation was successful.
    	 */
    
    	/**
    	 * Reads a cache.
    	 *
    	 * @return mixed Either the content of the cache object, or boolean `false`.
    	 */
    
    	/**
    	 * Updates an existing cache.
    	 *
    	 * @param mixed $data (Required) The data to cache.
    	 * @return boolean Whether the operation was successful.
    	 */
    
    	/**
    	 * Deletes a cache.
    	 *
    	 * @return boolean Whether the operation was successful.
    	 */
    
    	/**
    	 * Implemented here, but always returns `false`. Memcache manages its own expirations.
    	 *
    	 * @return boolean Whether the cache is expired or not.
    	 */
    
    	/**
    	 * Implemented here, but always returns `false`. Memcache manages its own expirations.
    	 *
    	 * @return mixed Either the Unix time stamp of the cache creation, or boolean `false`.
    	 */
    
    	/**
    	 * Implemented here, but always returns `false`. Memcache manages its own expirations.
    	 *
    	 * @return boolean Whether the operation was successful.
    	 */
    
    /*%******************************************************************************************%*/
    

    Class: CacheMC_Exception extends CacheCore_Exception {


    File: /destinations/_s3lib/aws-sdk/lib/cachecore/cachepdo.class.php

    /**
     * Container for all PDO-based cache methods. Inherits additional methods from . Adheres
     * to the ICacheCore interface.
     *
     * @version 2012.04.17
     * @copyright 2006-2012 Ryan Parman
     * @copyright 2006-2010 Foleeo, Inc.
     * @copyright 2012 Amazon.com, Inc. or its affiliates.
     * @copyright 2008-2010 Contributors
     * @license http://opensource.org/licenses/bsd-license.php Simplified BSD License
     * @link http://github.com/skyzyx/cachecore CacheCore
     * @link http://getcloudfusion.com CloudFusion
     * @link http://php.net/pdo PDO
     */
    
    	/**
    	 * Reference to the PDO connection object.
    	 */
    
    	/**
    	 * Holds the parsed URL components.
    	 */
    
    	/**
    	 * Holds the PDO-friendly version of the connection string.
    	 */
    
    	/**
    	 * Holds the prepared statement for creating an entry.
    	 */
    
    	/**
    	 * Holds the prepared statement for reading an entry.
    	 */
    
    	/**
    	 * Holds the prepared statement for updating an entry.
    	 */
    
    	/**
    	 * Holds the prepared statement for resetting the expiry of an entry.
    	 */
    
    	/**
    	 * Holds the prepared statement for deleting an entry.
    	 */
    
    	/**
    	 * Holds the response of the read so we only need to fetch it once instead of doing
    	 * multiple queries.
    	 */
    
    	/*%******************************************************************************************%*/
    
    	/**
    	 * Constructs a new instance of this class.
    	 *
    	 * Tested with [MySQL 5.0.x](http://mysql.com), [PostgreSQL](http://postgresql.com), and
    	 * [SQLite 3.x](http://sqlite.org). SQLite 2.x is assumed to work. No other PDO-supported databases have
    	 * been tested (e.g. Oracle, Microsoft SQL Server, IBM DB2, ODBC, Sybase, Firebird). Feel free to send
    	 * patches for additional database support.
    	 *
    	 * See  for more information.
    	 *
    	 * @param string $name (Required) A name to uniquely identify the cache object.
    	 * @param string $location (Optional) The location to store the cache object in. This may vary by cache method. The default value is NULL.
    	 * @param integer $expires (Optional) The number of seconds until a cache object is considered stale. The default value is 0.
    	 * @param boolean $gzip (Optional) Whether data should be gzipped before being stored. The default value is true.
    	 * @return object Reference to the cache object.
    	 */
    
    	/**
    	 * Creates a new cache.
    	 *
    	 * @param mixed $data (Required) The data to cache.
    	 * @return boolean Whether the operation was successful.
    	 */
    
    	/**
    	 * Reads a cache.
    	 *
    	 * @return mixed Either the content of the cache object, or boolean `false`.
    	 */
    
    	/**
    	 * Updates an existing cache.
    	 *
    	 * @param mixed $data (Required) The data to cache.
    	 * @return boolean Whether the operation was successful.
    	 */
    
    	/**
    	 * Deletes a cache.
    	 *
    	 * @return boolean Whether the operation was successful.
    	 */
    
    	/**
    	 * Checks whether the cache object is expired or not.
    	 *
    	 * @return boolean Whether the cache is expired or not.
    	 */
    
    	/**
    	 * Retrieves the timestamp of the cache.
    	 *
    	 * @return mixed Either the Unix time stamp of the cache creation, or boolean `false`.
    	 */
    
    	/**
    	 * Resets the freshness of the cache.
    	 *
    	 * @return boolean Whether the operation was successful.
    	 */
    
    	/**
    	 * Returns a list of supported PDO database drivers. Identical to .
    	 *
    	 * @return array The list of supported database drivers.
    	 * @link http://php.net/pdo.getavailabledrivers PHP Method
    	 */
    
    	/**
    	 * Returns a timestamp value apropriate to the current database type.
    	 *
    	 * @return mixed Timestamp for MySQL and PostgreSQL, integer value for SQLite.
    	 */
    
    /*%******************************************************************************************%*/
    

    Class: CachePDO_Exception extends CacheCore_Exception {


    File: /destinations/_s3lib/aws-sdk/lib/cachecore/cachexcache.class.php

    /**
     * Container for all XCache-based cache methods. Inherits additional methods from . Adheres
     * to the ICacheCore interface.
     *
     * @version 2012.04.17
     * @copyright 2006-2012 Ryan Parman
     * @copyright 2006-2010 Foleeo, Inc.
     * @copyright 2012 Amazon.com, Inc. or its affiliates.
     * @copyright 2008-2010 Contributors
     * @license http://opensource.org/licenses/bsd-license.php Simplified BSD License
     * @link http://github.com/skyzyx/cachecore CacheCore
     * @link http://getcloudfusion.com CloudFusion
     * @link http://xcache.lighttpd.net XCache
     */
    
    	/*%******************************************************************************************%*/
    
    	/**
    	 * Constructs a new instance of this class.
    	 *
    	 * @param string $name (Required) A name to uniquely identify the cache object.
    	 * @param string $location (Optional) The location to store the cache object in. This may vary by cache method. The default value is NULL.
    	 * @param integer $expires (Optional) The number of seconds until a cache object is considered stale. The default value is 0.
    	 * @param boolean $gzip (Optional) Whether data should be gzipped before being stored. The default value is true.
    	 * @return object Reference to the cache object.
    	 */
    
    	/**
    	 * Creates a new cache.
    	 *
    	 * @param mixed $data (Required) The data to cache.
    	 * @return boolean Whether the operation was successful.
    	 */
    
    	/**
    	 * Reads a cache.
    	 *
    	 * @return mixed Either the content of the cache object, or boolean `false`.
    	 */
    
    	/**
    	 * Updates an existing cache.
    	 *
    	 * @param mixed $data (Required) The data to cache.
    	 * @return boolean Whether the operation was successful.
    	 */
    
    	/**
    	 * Deletes a cache.
    	 *
    	 * @return boolean Whether the operation was successful.
    	 */
    
    	/**
    	 * Defined here, but always returns false. XCache manages it's own expirations. It's worth
    	 * mentioning that if the server is configured for a long xcache.var_gc_interval then it IS
    	 * possible for expired data to remain in the var cache, though it is not possible to access
    	 * it.
    	 *
    	 * @return boolean Whether the cache is expired or not.
    	 */
    
    	/**
    	 * Implemented here, but always returns `false`. XCache manages its own expirations.
    	 *
    	 * @return mixed Either the Unix time stamp of the cache creation, or boolean `false`.
    	 */
    
    	/**
    	 * Implemented here, but always returns `false`. XCache manages its own expirations.
    	 *
    	 * @return boolean Whether the operation was successful.
    	 */
    
    /*%******************************************************************************************%*/
    

    Class: CacheXCache_Exception extends CacheCore_Exception {


    File: /destinations/_s3lib/aws-sdk/lib/cachecore/icachecore.interface.php

    /**
     * Defines the methods that all implementing classes MUST have. Covers CRUD (create, read, update,
     * delete) methods, as well as others that are used in the base  class.
     *
     * @version 2009.03.22
     * @copyright 2006-2010 Ryan Parman
     * @copyright 2006-2010 Foleeo, Inc.
     * @copyright 2008-2010 Contributors
     * @license http://opensource.org/licenses/bsd-license.php Simplified BSD License
     * @link http://github.com/skyzyx/cachecore CacheCore
     * @link http://getcloudfusion.com CloudFusion
     */
    
    	/**
    	 * Creates a new cache.
    	 *
    	 * @param mixed $data (Required) The data to cache.
    	 * @return boolean Whether the operation was successful.
    	 */
    
    	/**
    	 * Reads a cache.
    	 *
    	 * @return mixed Either the content of the cache object, or boolean `false`.
    	 */
    
    	/**
    	 * Updates an existing cache.
    	 *
    	 * @param mixed $data (Required) The data to cache.
    	 * @return boolean Whether the operation was successful.
    	 */
    
    	/**
    	 * Deletes a cache.
    	 *
    	 * @return boolean Whether the operation was successful.
    	 */
    
    	/**
    	 * Checks whether the cache object is expired or not.
    	 *
    	 * @return boolean Whether the cache is expired or not.
    	 */
    
    	/**
    	 * Retrieves the timestamp of the cache.
    	 *
    	 * @return mixed Either the Unix time stamp of the cache creation, or boolean `false`.
    	 */
    
    	/**
    	 * Resets the freshness of the cache.
    	 *
    	 * @return boolean Whether the operation was successful.
    	 */
    

    File: /destinations/_s3lib/aws-sdk/lib/requestcore/requestcore.class.php

    /**
     * Handles all HTTP requests using cURL and manages the responses.
     *
     * @version 2012.01.17
     * @copyright 2006-2011 Ryan Parman
     * @copyright 2006-2010 Foleeo Inc.
     * @copyright 2010-2011 Amazon.com, Inc. or its affiliates.
     * @copyright 2008-2011 Contributors
     * @license http://opensource.org/licenses/bsd-license.php Simplified BSD License
     */
    
    	/**
    	 * The URL being requested.
    	 */
    
    	/**
    	 * The headers being sent in the request.
    	 */
    
    	/**
    	 * The body being sent in the request.
    	 */
    
    	/**
    	 * The response returned by the request.
    	 */
    
    	/**
    	 * The headers returned by the request.
    	 */
    
    	/**
    	 * The body returned by the request.
    	 */
    
    	/**
    	 * The HTTP status code returned by the request.
    	 */
    
    	/**
    	 * Additional response data.
    	 */
    
    	/**
    	 * The handle for the cURL object.
    	 */
    
    	/**
    	 * The method by which the request is being made.
    	 */
    
    	/**
    	 * Stores the proxy settings to use for the request.
    	 */
    
    	/**
    	 * The username to use for the request.
    	 */
    
    	/**
    	 * The password to use for the request.
    	 */
    
    	/**
    	 * Custom CURLOPT settings.
    	 */
    
    	/**
    	 * The state of debug mode.
    	 */
    
    	/**
    	 * The default class to use for HTTP Requests (defaults to ).
    	 */
    
    	/**
    	 * The default class to use for HTTP Responses (defaults to ).
    	 */
    
    	/**
    	 * Default useragent string to use.
    	 */
    
    	/**
    	 * File to read from while streaming up.
    	 */
    
    	/**
    	 * The resource to read from while streaming up.
    	 */
    
    	/**
    	 * The size of the stream to read from.
    	 */
    
    	/**
    	 * The length already read from the stream.
    	 */
    
    	/**
    	 * File to write to while streaming down.
    	 */
    
    	/**
    	 * The resource to write to while streaming down.
    	 */
    
    	/**
    	 * Stores the intended starting seek position.
    	 */
    
    	/**
    	 * The location of the cacert.pem file to use.
    	 */
    
    	/**
    	 * The state of SSL certificate verification.
    	 */
    
    	/**
    	 * The user-defined callback function to call when a stream is read from.
    	 */
    
    	/**
    	 * The user-defined callback function to call when a stream is written to.
    	 */
    
    	/**
    	 * Whether or not the set_time_limit function should be called.
    	 */
    
    	/**
    	 * Whether or not to use gzip encoding via CURLOPT_ENCODING
    	 */
    
    	/*%******************************************************************************************%*/
    
    	/**
    	 * GET HTTP Method
    	 */
    
    	/**
    	 * POST HTTP Method
    	 */
    
    	/**
    	 * PUT HTTP Method
    	 */
    
    	/**
    	 * DELETE HTTP Method
    	 */
    
    	/**
    	 * HEAD HTTP Method
    	 */
    
    	/*%******************************************************************************************%*/
    
    	/**
    	 * Constructs a new instance of this class.
    	 *
    	 * @param string $url (Optional) The URL to request or service endpoint to query.
    	 * @param string $proxy (Optional) The faux-url to use for proxy settings. Takes the following format: `proxy://user:pass@hostname:port`
    	 * @param array $helpers (Optional) An associative array of classnames to use for request, and response functionality. Gets passed in automatically by the calling class.
    	 * @return $this A reference to the current instance.
    	 */
    
    	/**
    	 * Destructs the instance. Closes opened file handles.
    	 *
    	 * @return $this A reference to the current instance.
    	 */
    
    	/*%******************************************************************************************%*/
    
    	/**
    	 * Sets the credentials to use for authentication.
    	 *
    	 * @param string $user (Required) The username to authenticate with.
    	 * @param string $pass (Required) The password to authenticate with.
    	 * @return $this A reference to the current instance.
    	 */
    
    	/**
    	 * Adds a custom HTTP header to the cURL request.
    	 *
    	 * @param string $key (Required) The custom HTTP header to set.
    	 * @param mixed $value (Required) The value to assign to the custom HTTP header.
    	 * @return $this A reference to the current instance.
    	 */
    
    	/**
    	 * Removes an HTTP header from the cURL request.
    	 *
    	 * @param string $key (Required) The custom HTTP header to set.
    	 * @return $this A reference to the current instance.
    	 */
    
    	/**
    	 * Set the method type for the request.
    	 *
    	 * @param string $method (Required) One of the following constants: , , , , .
    	 * @return $this A reference to the current instance.
    	 */
    
    	/**
    	 * Sets a custom useragent string for the class.
    	 *
    	 * @param string $ua (Required) The useragent string to use.
    	 * @return $this A reference to the current instance.
    	 */
    
    	/**
    	 * Set the body to send in the request.
    	 *
    	 * @param string $body (Required) The textual content to send along in the body of the request.
    	 * @return $this A reference to the current instance.
    	 */
    
    	/**
    	 * Set the URL to make the request to.
    	 *
    	 * @param string $url (Required) The URL to make the request to.
    	 * @return $this A reference to the current instance.
    	 */
    
    	/**
    	 * Set additional CURLOPT settings. These will merge with the default settings, and override if
    	 * there is a duplicate.
    	 *
    	 * @param array $curlopts (Optional) A set of key-value pairs that set `CURLOPT` options. These will merge with the existing CURLOPTs, and ones passed here will override the defaults. Keys should be the `CURLOPT_*` constants, not strings.
    	 * @return $this A reference to the current instance.
    	 */
    
    	/**
    	 * Sets the length in bytes to read from the stream while streaming up.
    	 *
    	 * @param integer $size (Required) The length in bytes to read from the stream.
    	 * @return $this A reference to the current instance.
    	 */
    
    	/**
    	 * Sets the resource to read from while streaming up. Reads the stream from its current position until
    	 * EOF or `$size` bytes have been read. If `$size` is not given it will be determined by  and
    	 * .
    	 *
    	 * @param resource $resource (Required) The readable resource to read from.
    	 * @param integer $size (Optional) The size of the stream to read.
    	 * @return $this A reference to the current instance.
    	 */
    
    	/**
    	 * Sets the file to read from while streaming up.
    	 *
    	 * @param string $location (Required) The readable location to read from.
    	 * @return $this A reference to the current instance.
    	 */
    
    	/**
    	 * Sets the resource to write to while streaming down.
    	 *
    	 * @param resource $resource (Required) The writeable resource to write to.
    	 * @return $this A reference to the current instance.
    	 */
    
    	/**
    	 * Sets the file to write to while streaming down.
    	 *
    	 * @param string $location (Required) The writeable location to write to.
    	 * @return $this A reference to the current instance.
    	 */
    
    	/**
    	 * Set the proxy to use for making requests.
    	 *
    	 * @param string $proxy (Required) The faux-url to use for proxy settings. Takes the following format: `proxy://user:pass@hostname:port`
    	 * @return $this A reference to the current instance.
    	 */
    
    	/**
    	 * Set the intended starting seek position.
    	 *
    	 * @param integer $position (Required) The byte-position of the stream to begin reading from.
    	 * @return $this A reference to the current instance.
    	 */
    
    	/**
    	 * Register a callback function to execute whenever a data stream is read from using
    	 * .
    	 *
    	 * The user-defined callback function should accept three arguments:
    	 *
    	 * 
      *
    • $curl_handle - resource - Required - The cURL handle resource that represents the in-progress transfer.
    • *
    • $file_handle - resource - Required - The file handle resource that represents the file on the local file system.
    • *
    • $length - integer - Required - The length in kilobytes of the data chunk that was transferred.
    • *
    * * @param string|array|function $callback (Required) The callback function is called by , so you can pass the following values:
      *
    • The name of a global function to execute, passed as a string.
    • *
    • A method to execute, passed as array('ClassName', 'MethodName').
    • *
    • An anonymous function (PHP 5.3+).
    * @return $this A reference to the current instance. */
    	/**
    	 * Register a callback function to execute whenever a data stream is written to using
    	 * .
    	 *
    	 * The user-defined callback function should accept two arguments:
    	 *
    	 * 
      *
    • $curl_handle - resource - Required - The cURL handle resource that represents the in-progress transfer.
    • *
    • $length - integer - Required - The length in kilobytes of the data chunk that was transferred.
    • *
    * * @param string|array|function $callback (Required) The callback function is called by , so you can pass the following values:
      *
    • The name of a global function to execute, passed as a string.
    • *
    • A method to execute, passed as array('ClassName', 'MethodName').
    • *
    • An anonymous function (PHP 5.3+).
    * @return $this A reference to the current instance. */
    	/*%******************************************************************************************%*/
    
    	/**
    	 * A callback function that is invoked by cURL for streaming up.
    	 *
    	 * @param resource $curl_handle (Required) The cURL handle for the request.
    	 * @param resource $file_handle (Required) The open file handle resource.
    	 * @param integer $length (Required) The maximum number of bytes to read.
    	 * @return binary Binary data from a stream.
    	 */
    
    	/**
    	 * A callback function that is invoked by cURL for streaming down.
    	 *
    	 * @param resource $curl_handle (Required) The cURL handle for the request.
    	 * @param binary $data (Required) The data to write.
    	 * @return integer The number of bytes written.
    	 */
    
    	/**
    	 * Prepares and adds the details of the cURL request. This can be passed along to a 
    	 * function.
    	 *
    	 * @return resource The handle for the cURL object.
    	 */
    
    	/**
    	 * Take the post-processed cURL data and break it down into useful header/body/info chunks. Uses the
    	 * data stored in the `curl_handle` and `response` properties unless replacement data is passed in via
    	 * parameters.
    	 *
    	 * @param resource $curl_handle (Optional) The reference to the already executed cURL request.
    	 * @param string $response (Optional) The actual response content itself that needs to be parsed.
    	 * @return ResponseCore A  object containing a parsed HTTP response.
    	 */
    
    	/**
    	 * Sends the request, calling necessary utility functions to update built-in properties.
    	 *
    	 * @param boolean $parse (Optional) Whether to parse the response with ResponseCore or not.
    	 * @return string The resulting unparsed data from the request.
    	 */
    
    	/**
    	 * Sends the request using , enabling parallel requests. Uses the "rolling" method.
    	 *
    	 * @param array $handles (Required) An indexed array of cURL handles to process simultaneously.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • callback - string|array - Optional - The string name of a function to pass the response data to. If this is a method, pass an array where the [0] index is the class and the [1] index is the method name.
    • *
    • limit - integer - Optional - The number of simultaneous requests to make. This can be useful for scaling around slow server responses. Defaults to trusting cURLs judgement as to how many to use.
    * @return array Post-processed cURL responses. */
    	/*%******************************************************************************************%*/
    
    	/**
    	 * Get the HTTP response headers from the request.
    	 *
    	 * @param string $header (Optional) A specific header value to return. Defaults to all headers.
    	 * @return string|array All or selected header values.
    	 */
    
    	/**
    	 * Get the HTTP response body from the request.
    	 *
    	 * @return string The response body.
    	 */
    
    	/**
    	 * Get the HTTP response code from the request.
    	 *
    	 * @return string The HTTP response code.
    	 */
    
    /**
     * Container for all response-related methods.
     */
    
    	/**
    	 * Stores the HTTP header information.
    	 */
    
    	/**
    	 * Stores the SimpleXML response.
    	 */
    
    	/**
    	 * Stores the HTTP response code.
    	 */
    
    	/**
    	 * Constructs a new instance of this class.
    	 *
    	 * @param array $header (Required) Associative array of HTTP headers (typically returned by ).
    	 * @param string $body (Required) XML-formatted response from AWS.
    	 * @param integer $status (Optional) HTTP response status code from the request.
    	 * @return object Contains an  `header` property (HTTP headers as an associative array), a  or  `body` property, and an  `status` code.
    	 */
    
    	/**
    	 * Did we receive the status code we expected?
    	 *
    	 * @param integer|array $codes (Optional) The status code(s) to expect. Pass an  for a single acceptable value, or an  of integers for multiple acceptable values.
    	 * @return boolean Whether we received the expected status code or not.
    	 */
    

    Class: cURL_Exception extends Exception {

    Class: cURL_Multi_Exception extends cURL_Exception {

    Class: RequestCore_Exception extends Exception {


    File: /destinations/_s3lib/aws-sdk/lib/yaml/lib/sfYaml.php

    /*
     * This file is part of the symfony package.
     * (c) 2004-2006 Fabien Potencier 
     *
     * For the full copyright and license information, please view the LICENSE
     * file that was distributed with this source code.
     */
    
    /**
     * sfYaml offers convenience methods to load and dump YAML.
     *
     * @package    symfony
     * @subpackage yaml
     * @author     Fabien Potencier 
     * @version    SVN: $Id: sfYaml.class.php 8988 2008-05-15 20:24:26Z fabien $
     */
    
      /**
       * Sets the YAML specification version to use.
       *
       * @param string $version The YAML specification version
       */
    
      /**
       * Gets the YAML specification version to use.
       *
       * @return string The YAML specification version
       */
    
      /**
       * Loads YAML into a PHP array.
       *
       * The load method, when supplied with a YAML stream (string or file),
       * will do its best to convert YAML in a file into a PHP array.
       *
       *  Usage:
       *  
       *   $array = sfYaml::load('config.yml');
       *   print_r($array);
       *  
       *
       * @param string $input Path of YAML file or string containing YAML
       *
       * @return array The YAML converted to a PHP array
       *
       * @throws InvalidArgumentException If the YAML is not valid
       */
    
      /**
       * Dumps a PHP array to a YAML string.
       *
       * The dump method, when supplied with an array, will do its best
       * to convert the array into friendly YAML.
       *
       * @param array   $array PHP array
       * @param integer $inline The level where you switch to inline YAML
       *
       * @return string A YAML string representing the original PHP array
       */
    
    /**
     * Wraps echo to automatically provide a newline.
     *
     * @param string $string The string to echo with new line
     */
    

    File: /destinations/_s3lib/aws-sdk/lib/yaml/lib/sfYamlDumper.php

    /*
     * This file is part of the symfony package.
     * (c) Fabien Potencier 
     *
     * For the full copyright and license information, please view the LICENSE
     * file that was distributed with this source code.
     */
    
    /**
     * sfYamlDumper dumps PHP variables to YAML strings.
     *
     * @package    symfony
     * @subpackage yaml
     * @author     Fabien Potencier 
     * @version    SVN: $Id: sfYamlDumper.class.php 10575 2008-08-01 13:08:42Z nicolas $
     */
    
      /**
       * Dumps a PHP value to YAML.
       *
       * @param  mixed   $input  The PHP value
       * @param  integer $inline The level where you switch to inline YAML
       * @param  integer $indent The level o indentation indentation (used internally)
       *
       * @return string  The YAML representation of the PHP value
       */
    

    File: /destinations/_s3lib/aws-sdk/lib/yaml/lib/sfYamlInline.php

    /*
     * This file is part of the symfony package.
     * (c) Fabien Potencier 
     *
     * For the full copyright and license information, please view the LICENSE
     * file that was distributed with this source code.
     */
    
    /**
     * sfYamlInline implements a YAML parser/dumper for the YAML inline syntax.
     *
     * @package    symfony
     * @subpackage yaml
     * @author     Fabien Potencier 
     * @version    SVN: $Id: sfYamlInline.class.php 16177 2009-03-11 08:32:48Z fabien $
     */
    
      /**
       * Convert a YAML string to a PHP array.
       *
       * @param string $value A YAML string
       *
       * @return array A PHP array representing the YAML string
       */
    
      /**
       * Dumps a given PHP variable to a YAML string.
       *
       * @param mixed $value The PHP variable to convert
       *
       * @return string The YAML string representing the PHP array
       */
    
      /**
       * Dumps a PHP array to a YAML string.
       *
       * @param array $value The PHP array to dump
       *
       * @return string The YAML string representing the PHP array
       */
    
      /**
       * Parses a scalar to a YAML string.
       *
       * @param scalar  $scalar
       * @param string  $delimiters
       * @param array   $stringDelimiter
       * @param integer $i
       * @param boolean $evaluate
       *
       * @return string A YAML string
       */
    
      /**
       * Parses a quoted scalar to YAML.
       *
       * @param string  $scalar
       * @param integer $i
       *
       * @return string A YAML string
       */
    
      /**
       * Parses a sequence to a YAML string.
       *
       * @param string  $sequence
       * @param integer $i
       *
       * @return string A YAML string
       */
    
      /**
       * Parses a mapping to a YAML string.
       *
       * @param string  $mapping
       * @param integer $i
       *
       * @return string A YAML string
       */
    
      /**
       * Evaluates scalars and replaces magic values.
       *
       * @param string $scalar
       *
       * @return string A YAML string
       */
    

    File: /destinations/_s3lib/aws-sdk/lib/yaml/lib/sfYamlParser.php

    /*
     * This file is part of the symfony package.
     * (c) Fabien Potencier 
     *
     * For the full copyright and license information, please view the LICENSE
     * file that was distributed with this source code.
     */
    
    /**
     * sfYamlParser parses YAML strings to convert them to PHP arrays.
     *
     * @package    symfony
     * @subpackage yaml
     * @author     Fabien Potencier 
     * @version    SVN: $Id: sfYamlParser.class.php 10832 2008-08-13 07:46:08Z fabien $
     */
    
      /**
       * Constructor
       *
       * @param integer $offset The offset of YAML document (used for line numbers in error messages)
       */
    
      /**
       * Parses a YAML string to a PHP value.
       *
       * @param  string $value A YAML string
       *
       * @return mixed  A PHP value
       *
       * @throws InvalidArgumentException If the YAML is not valid
       */
    
      /**
       * Returns the current line number (takes the offset into account).
       *
       * @return integer The current line number
       */
    
      /**
       * Returns the current line indentation.
       *
       * @return integer The current line indentation
       */
    
      /**
       * Returns the next embed block of YAML.
       *
       * @param integer $indentation The indent level at which the block is to be read, or null for default
       *
       * @return string A YAML string
       */
    
      /**
       * Moves the parser to the next line.
       */
    
      /**
       * Moves the parser to the previous line.
       */
    
      /**
       * Parses a YAML value.
       *
       * @param  string $value A YAML value
       *
       * @return mixed  A PHP value
       */
    
      /**
       * Parses a folded scalar.
       *
       * @param  string  $separator   The separator that was used to begin this folded scalar (| or >)
       * @param  string  $indicator   The indicator that was used to begin this folded scalar (+ or -)
       * @param  integer $indentation The indentation that was used to begin this folded scalar
       *
       * @return string  The text value
       */
    
      /**
       * Returns true if the next line is indented.
       *
       * @return Boolean Returns true if the next line is indented, false otherwise
       */
    
      /**
       * Returns true if the current line is blank or if it is a comment line.
       *
       * @return Boolean Returns true if the current line is empty or if it is a comment line, false otherwise
       */
    
      /**
       * Returns true if the current line is blank.
       *
       * @return Boolean Returns true if the current line is blank, false otherwise
       */
    
      /**
       * Returns true if the current line is a comment line.
       *
       * @return Boolean Returns true if the current line is a comment line, false otherwise
       */
    
      /**
       * Cleanups a YAML string to be parsed.
       *
       * @param  string $value The input YAML string
       *
       * @return string A cleaned up YAML string
       */
    

    File: /destinations/_s3lib/aws-sdk/services/as.class.php

    /*
     * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
     *
     * Licensed under the Apache License, Version 2.0 (the "License").
     * You may not use this file except in compliance with the License.
     * A copy of the License is located at
     *
     *  http://aws.amazon.com/apache2.0
     *
     * or in the "license" file accompanying this file. This file is distributed
     * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
     * express or implied. See the License for the specific language governing
     * permissions and limitations under the License.
     */
    
    /**
     * This guide provides detailed information about Auto Scaling actions, data types, parameters,
     * and errors. For detailed information about Auto Scaling features and their associated API
     * calls, go to the Auto Scaling Developer
     * Guide.
     *  
     * Auto Scaling is a web service designed to automatically launch or terminate Amazon Elastic
     * Compute Cloud (Amazon EC2) instances based on user-defined policies, schedules, and health
     * checks. This service is used in conjunction with Amazon CloudWatch and Elastic Load Balancing
     * services.
     *  
     * This reference is based on the current WSDL, which is available at:
     *  
     * 	http://autoscaling.amazonaws.com/doc/2011-01-01/AutoScaling.wsdl
     *  
     * Endpoints
     *  
     * For information about this product's regions and endpoints, go to Regions and
     * Endpoints in the Amazon Web Services General Reference.
     *
     * @version 2013.01.14
     * @license See the included NOTICE.md file for complete information.
     * @copyright See the included NOTICE.md file for complete information.
     * @link http://aws.amazon.com/as/ Auto Scaling
     * @link http://aws.amazon.com/as/documentation/ Auto Scaling documentation
     */
    
    	/*%******************************************************************************************%*/
    
    	/**
    	 * Specify the queue URL for the United States East (Northern Virginia) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the United States East (Northern Virginia) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the United States West (Northern California) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the United States West (Northern California) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the United States West (Oregon) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the United States West (Oregon) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the Europe West (Ireland) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the Europe West (Ireland) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the Asia Pacific Southeast (Singapore) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the Asia Pacific Southeast (Singapore) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the Asia Pacific Southeast (Singapore) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the Asia Pacific Southeast (Singapore) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the Asia Pacific Northeast (Tokyo) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the Asia Pacific Northeast (Tokyo) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the South America (Sao Paulo) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the South America (Sao Paulo) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the United States GovCloud Region.
    	 */
    
    	/**
    	 * Default service endpoint.
    	 */
    
    	/*%******************************************************************************************%*/
    
    	/**
    	 * Constructs a new instance of .
    	 *
    	 * @param array $options (Optional) An associative array of parameters that can have the following keys: 
      *
    • certificate_authority - boolean - Optional - Determines which Cerificate Authority file to use. A value of boolean false will use the Certificate Authority file available on the system. A value of boolean true will use the Certificate Authority provided by the SDK. Passing a file system path to a Certificate Authority file (chmodded to 0755) will use that. Leave this set to false if you're not sure.
    • *
    • credentials - string - Optional - The name of the credential set to use for authentication.
    • *
    • default_cache_config - string - Optional - This option allows a preferred storage type to be configured for long-term caching. This can be changed later using the method. Valid values are: apc, xcache, or a file system path such as ./cache or /tmp/cache/.
    • *
    • key - string - Optional - Your AWS key, or a session key. If blank, the default credential set will be used.
    • *
    • secret - string - Optional - Your AWS secret key, or a session secret key. If blank, the default credential set will be used.
    • *
    • token - string - Optional - An AWS session token.
    * @return void */
    	/*%******************************************************************************************%*/
    
    	/**
    	 * This allows you to explicitly sets the region for the service to use.
    	 *
    	 * @param string $region (Required) The region to explicitly set. Available options are , , , , , , , , .
    	 * @return $this A reference to the current instance.
    	 */
    
    	/*%******************************************************************************************%*/
    
    	/**
    	 * Creates a new Auto Scaling group with the specified name and other attributes. When the
    	 * creation request is completed, the Auto Scaling group is ready to be used in other calls.
    	 * 
    	 * 

    * The Auto Scaling group name must be unique within the scope of your AWS account, and under the * quota of Auto Scaling groups allowed for your account. *

    * * @param string $auto_scaling_group_name (Required) The name of the Auto Scaling group. [Constraints: The value must be between 1 and 255 characters, and must match the following regular expression pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*] * @param string $launch_configuration_name (Required) The name of the launch configuration to use with the Auto Scaling group. [Constraints: The value must be between 1 and 1600 characters, and must match the following regular expression pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*] * @param integer $min_size (Required) The minimum size of the Auto Scaling group. * @param integer $max_size (Required) The maximum size of the Auto Scaling group. * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • DesiredCapacity - integer - Optional - The number of Amazon EC2 instances that should be running in the group.
    • *
    • DefaultCooldown - integer - Optional - The amount of time, in seconds, after a scaling activity completes before any further trigger-related scaling activities can start.
    • *
    • AvailabilityZones - string|array - Optional - A list of Availability Zones for the Auto Scaling group. Pass a string for a single value, or an indexed array for multiple values.
    • *
    • LoadBalancerNames - string|array - Optional - A list of load balancers to use. Pass a string for a single value, or an indexed array for multiple values.
    • *
    • HealthCheckType - string - Optional - The service you want the health status from, Amazon EC2 or Elastic Load Balancer. Valid values are EC2 or ELB. [Constraints: The value must be between 1 and 32 characters, and must match the following regular expression pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*]
    • *
    • HealthCheckGracePeriod - integer - Optional - Length of time in seconds after a new Amazon EC2 instance comes into service that Auto Scaling starts checking its health.
    • *
    • PlacementGroup - string - Optional - Physical location of your cluster placement group created in Amazon EC2. For more information about cluster placement group, see Using Cluster Instances [Constraints: The value must be between 1 and 255 characters, and must match the following regular expression pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*]
    • *
    • VPCZoneIdentifier - string - Optional - A comma-separated list of subnet identifiers of Amazon Virtual Private Clouds (Amazon VPCs). When you specify subnets and Availability Zones with this call, ensure that the subnets' Availability Zones match the Availability Zones specified. [Constraints: The value must be between 1 and 255 characters, and must match the following regular expression pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*]
    • *
    • TerminationPolicies - string|array - Optional - A standalone termination policy or a list of termination policies used to select the instance to terminate. The policies are executed in the order that they are listed. For more information on configuring a termination policy for your Auto Scaling group, go to Instance Termination Policy for Your Auto Scaling Group in the the Auto Scaling Developer Guide. Pass a string for a single value, or an indexed array for multiple values.
    • *
    • Tags - array - Optional - The tag to be created or updated. Each tag should be defined by its resource type, resource ID, key, value, and a propagate flag. Valid values: key= value, value= value, propagate= true or false. Value and propagate are optional parameters.
        *
      • x - array - Optional - This represents a simple array index.
          *
        • ResourceId - string - Optional - The name of the Auto Scaling group. [Constraints: The value must match the following regular expression pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*]
        • *
        • ResourceType - string - Optional - The kind of resource to which the tag is applied. Currently, Auto Scaling supports the auto-scaling-group resource type. [Constraints: The value must match the following regular expression pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*]
        • *
        • Key - string - Required - The key of the tag. [Constraints: The value must be between 1 and 128 characters, and must match the following regular expression pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*]
        • *
        • Value - string - Optional - The value of the tag. [Constraints: The value must be between 0 and 256 characters, and must match the following regular expression pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*]
        • *
        • PropagateAtLaunch - boolean - Optional - Specifies whether the new tag will be applied to instances launched after the tag is created. The same behavior applies to updates: If you change a tag, the changed tag will be applied to all instances launched after you made the change.
        • *
      • *
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Creates a new launch configuration. The launch configuration name must be unique within the
    	 * scope of the client's AWS account. The maximum limit of launch configurations, which by default
    	 * is 100, must not yet have been met; otherwise, the call will fail. When created, the new launch
    	 * configuration is available for immediate use.
    	 *  
    	 * You can create a launch configuration with Amazon EC2 security groups or with Amazon VPC
    	 * security groups. However, you can't use Amazon EC2 security groups together with Amazon VPC
    	 * security groups, or vice versa.
    	 * 
    	 * 

    * At this time, Auto Scaling launch configurations don't support compressed (e.g. zipped) user * data files. *

    * * @param string $launch_configuration_name (Required) The name of the launch configuration to create. [Constraints: The value must be between 1 and 255 characters, and must match the following regular expression pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*] * @param string $image_id (Required) Unique ID of the Amazon Machine Image (AMI) which was assigned during registration. For more information about Amazon EC2 images, please see Amazon EC2 product documentation. [Constraints: The value must be between 1 and 255 characters, and must match the following regular expression pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*] * @param string $instance_type (Required) The instance type of the Amazon EC2 instance. For more information about Amazon EC2 instance types, please see Amazon EC2 product documentation [Constraints: The value must be between 1 and 255 characters, and must match the following regular expression pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*] * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • KeyName - string - Optional - The name of the Amazon EC2 key pair. [Constraints: The value must be between 1 and 255 characters, and must match the following regular expression pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*]
    • *
    • SecurityGroups - string|array - Optional - The names of the security groups with which to associate Amazon EC2 or Amazon VPC instances. Specify Amazon EC2 security groups using security group names, such as websrv. Specify Amazon VPC security groups using security group IDs, such as sg-12345678. For more information about Amazon EC2 security groups, go to Using Security Groups in the Amazon EC2 product documentation. For more information about Amazon VPC security groups, go to Security Groups in the Amazon VPC product documentation. Pass a string for a single value, or an indexed array for multiple values.
    • *
    • UserData - string - Optional - The user data available to the launched Amazon EC2 instances. For more information about Amazon EC2 user data, please see Amazon EC2 product documentation. [Constraints: The value must be between 0 and 21847 characters, and must match the following regular expression pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*]
    • *
    • KernelId - string - Optional - The ID of the kernel associated with the Amazon EC2 AMI. [Constraints: The value must be between 1 and 255 characters, and must match the following regular expression pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*]
    • *
    • RamdiskId - string - Optional - The ID of the RAM disk associated with the Amazon EC2 AMI. [Constraints: The value must be between 1 and 255 characters, and must match the following regular expression pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*]
    • *
    • BlockDeviceMappings - array - Optional - A list of mappings that specify how block devices are exposed to the instance. Each mapping is made up of a VirtualName, a DeviceName, and an ebs data structure that contains information about the associated Elastic Block Storage volume. For more information about Amazon EC2 BlockDeviceMappings, go to Block Device Mapping in the Amazon EC2 product documentation.
        *
      • x - array - Optional - This represents a simple array index.
          *
        • VirtualName - string - Optional - The virtual name associated with the device. [Constraints: The value must be between 1 and 255 characters, and must match the following regular expression pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*]
        • *
        • DeviceName - string - Required - The name of the device within Amazon EC2. [Constraints: The value must be between 1 and 255 characters, and must match the following regular expression pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*]
        • *
        • Ebs - array - Optional - The Elastic Block Storage volume information.
            *
          • x - array - Optional - This represents a simple array index.
              *
            • SnapshotId - string - Optional - The snapshot ID. [Constraints: The value must be between 1 and 255 characters, and must match the following regular expression pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*]
            • *
            • VolumeSize - integer - Optional - The volume size, in gigabytes.
            • *
          • *
        • *
      • *
    • *
    • InstanceMonitoring - array - Optional - Enables detailed monitoring, which is enabled by default. When detailed monitoring is enabled, CloudWatch will generate metrics every minute and your account will be charged a fee. When you disable detailed monitoring, by specifying False, Cloudwatch will generate metrics every 5 minutes. For information about monitoring, see the Amazon CloudWatch product page.
        *
      • x - array - Optional - This represents a simple array index.
          *
        • Enabled - boolean - Optional - If True, instance monitoring is enabled.
        • *
      • *
    • *
    • SpotPrice - string - Optional - The maximum hourly price to be paid for any Spot Instance launched to fulfill the request. Spot Instances are launched when the price you specify exceeds the current Spot market price. For more information on launching Spot Instances, go to Using Auto Scaling to Launch Spot Instances in the Auto Scaling Developer Guide.
    • *
    • IamInstanceProfile - string - Optional - The name or the Amazon Resource Name (ARN) of the instance profile associated with the IAM role for the instance. For information on launching EC2 instances with an IAM role, go to Launching Auto Scaling Instances With an IAM Role in the Auto Scaling Developer Guide. [Constraints: The value must be between 1 and 1600 characters, and must match the following regular expression pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*]
    • *
    • EbsOptimized - boolean - Optional -
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Creates new tags or updates existing tags for an Auto Scaling group.
    	 * 
    	 * 

    * A tag's definition is composed of a resource ID, resource type, key and value, and the * propagate flag. Value and the propagate flag are optional parameters. See the Request * Parameters for more information. *

    * * @param array $tags (Required) The tag to be created or updated. Each tag should be defined by its resource type, resource ID, key, value, and a propagate flag. The resource type and resource ID identify the type and name of resource for which the tag is created. Currently, auto-scaling-group is the only supported resource type. The valid value for the resource ID is groupname. The PropagateAtLaunch flag defines whether the new tag will be applied to instances launched by the Auto Scaling group. Valid values are true or false. However, instances that are already running will not get the new or updated tag. Likewise, when you modify a tag, the updated version will be applied only to new instances launched by the Auto Scaling group after the change. Running instances that had the previous version of the tag will continue to have the older tag. When you create a tag and a tag of the same name already exists, the operation overwrites the previous tag definition, but you will not get an error message.
      *
    • x - array - Optional - This represents a simple array index.
        *
      • ResourceId - string - Optional - The name of the Auto Scaling group. [Constraints: The value must match the following regular expression pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*]
      • *
      • ResourceType - string - Optional - The kind of resource to which the tag is applied. Currently, Auto Scaling supports the auto-scaling-group resource type. [Constraints: The value must match the following regular expression pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*]
      • *
      • Key - string - Required - The key of the tag. [Constraints: The value must be between 1 and 128 characters, and must match the following regular expression pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*]
      • *
      • Value - string - Optional - The value of the tag. [Constraints: The value must be between 0 and 256 characters, and must match the following regular expression pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*]
      • *
      • PropagateAtLaunch - boolean - Optional - Specifies whether the new tag will be applied to instances launched after the tag is created. The same behavior applies to updates: If you change a tag, the changed tag will be applied to all instances launched after you made the change.
      • *
    • *
    * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Deletes the specified Auto Scaling group if the group has no instances and no scaling
    	 * activities in progress.
    	 * 
    	 * 

    * To remove all instances before calling DeleteAutoScalingGroup, you can call * UpdateAutoScalingGroup to set the minimum and maximum size of the AutoScalingGroup * to zero. *

    * * @param string $auto_scaling_group_name (Required) The name of the Auto Scaling group. [Constraints: The value must be between 1 and 1600 characters, and must match the following regular expression pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*] * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • ForceDelete - boolean - Optional - Starting with API version 2011-01-01, specifies that the Auto Scaling group will be deleted along with all instances associated with the group, without waiting for all instances to be terminated.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Deletes the specified LaunchConfiguration.
    	 *  
    	 * The specified launch configuration must not be attached to an Auto Scaling group. When this
    	 * call completes, the launch configuration is no longer available for use.
    	 *
    	 * @param string $launch_configuration_name (Required) The name of the launch configuration. [Constraints: The value must be between 1 and 1600 characters, and must match the following regular expression pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*]
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Deletes notifications created by PutNotificationConfiguration.
    	 *
    	 * @param string $auto_scaling_group_name (Required) The name of the Auto Scaling group. [Constraints: The value must be between 1 and 1600 characters, and must match the following regular expression pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*]
    	 * @param string $topic_arn (Required) The Amazon Resource Name (ARN) of the Amazon Simple Notification Service (SNS) topic. [Constraints: The value must be between 1 and 1600 characters, and must match the following regular expression pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*]
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Deletes a policy created by PutScalingPolicy.
    	 *
    	 * @param string $policy_name (Required) The name or PolicyARN of the policy you want to delete. [Constraints: The value must be between 1 and 1600 characters, and must match the following regular expression pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*]
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • AutoScalingGroupName - string - Optional - The name of the Auto Scaling group. [Constraints: The value must be between 1 and 1600 characters, and must match the following regular expression pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*]
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Deletes a scheduled action previously created using the
    	 * PutScheduledUpdateGroupAction.
    	 *
    	 * @param string $scheduled_action_name (Required) The name of the action you want to delete. [Constraints: The value must be between 1 and 1600 characters, and must match the following regular expression pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*]
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • AutoScalingGroupName - string - Optional - The name of the Auto Scaling group. [Constraints: The value must be between 1 and 1600 characters, and must match the following regular expression pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*]
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Removes the specified tags or a set of tags from a set of resources.
    	 *
    	 * @param array $tags (Required) Each tag should be defined by its resource type, resource ID, key, value, and a propagate flag. Valid values are: Resource type = auto-scaling-group, Resource ID = AutoScalingGroupName, key= value, value= value, propagate= true or false. 
      *
    • x - array - Optional - This represents a simple array index.
        *
      • ResourceId - string - Optional - The name of the Auto Scaling group. [Constraints: The value must match the following regular expression pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*]
      • *
      • ResourceType - string - Optional - The kind of resource to which the tag is applied. Currently, Auto Scaling supports the auto-scaling-group resource type. [Constraints: The value must match the following regular expression pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*]
      • *
      • Key - string - Required - The key of the tag. [Constraints: The value must be between 1 and 128 characters, and must match the following regular expression pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*]
      • *
      • Value - string - Optional - The value of the tag. [Constraints: The value must be between 0 and 256 characters, and must match the following regular expression pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*]
      • *
      • PropagateAtLaunch - boolean - Optional - Specifies whether the new tag will be applied to instances launched after the tag is created. The same behavior applies to updates: If you change a tag, the changed tag will be applied to all instances launched after you made the change.
      • *
    • *
    * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Returns policy adjustment types for use in the PutScalingPolicy action.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Returns a full description of each Auto Scaling group in the given list. This includes all
    	 * Amazon EC2 instances that are members of the group. If a list of names is not provided, the
    	 * service returns the full details of all Auto Scaling groups.
    	 *  
    	 * This action supports pagination by returning a token if there are more pages to retrieve. To
    	 * get the next page, call this action again with the returned token as the NextToken
    	 * parameter.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • AutoScalingGroupNames - string|array - Optional - A list of Auto Scaling group names. Pass a string for a single value, or an indexed array for multiple values.
    • *
    • NextToken - string - Optional - A string that marks the start of the next batch of returned results. [Constraints: The value must match the following regular expression pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*]
    • *
    • MaxRecords - integer - Optional - The maximum number of records to return.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Returns a description of each Auto Scaling instance in the InstanceIds list. If a
    	 * list is not provided, the service returns the full details of all instances up to a maximum of
    	 * 50. By default, the service returns a list of 20 items.
    	 *  
    	 * This action supports pagination by returning a token if there are more pages to retrieve. To
    	 * get the next page, call this action again with the returned token as the NextToken
    	 * parameter.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • InstanceIds - string|array - Optional - The list of Auto Scaling instances to describe. If this list is omitted, all auto scaling instances are described. The list of requested instances cannot contain more than 50 items. If unknown instances are requested, they are ignored with no error. Pass a string for a single value, or an indexed array for multiple values.
    • *
    • MaxRecords - integer - Optional - The maximum number of Auto Scaling instances to be described with each call.
    • *
    • NextToken - string - Optional - The token returned by a previous call to indicate that there is more data available. [Constraints: The value must match the following regular expression pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*]
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Returns a list of all notification types that are supported by Auto Scaling.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Returns a full description of the launch configurations, or the specified launch
    	 * configurations, if they exist.
    	 *  
    	 * If no name is specified, then the full details of all launch configurations are returned.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • LaunchConfigurationNames - string|array - Optional - A list of launch configuration names. Pass a string for a single value, or an indexed array for multiple values.
    • *
    • NextToken - string - Optional - A string that marks the start of the next batch of returned results. [Constraints: The value must match the following regular expression pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*]
    • *
    • MaxRecords - integer - Optional - The maximum number of launch configurations. The default is 100.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Returns a list of metrics and a corresponding list of granularities for each metric.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Returns a list of notification actions associated with Auto Scaling groups for specified
    	 * events.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • AutoScalingGroupNames - string|array - Optional - The name of the Auto Scaling group. Pass a string for a single value, or an indexed array for multiple values.
    • *
    • NextToken - string - Optional - A string that is used to mark the start of the next batch of returned results for pagination. [Constraints: The value must match the following regular expression pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*]
    • *
    • MaxRecords - integer - Optional - Maximum number of records to be returned.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Returns descriptions of what each policy does. This action supports pagination. If the response
    	 * includes a token, there are more records available. To get the additional records, repeat the
    	 * request with the response token as the NextToken parameter.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • AutoScalingGroupName - string - Optional - The name of the Auto Scaling group. [Constraints: The value must be between 1 and 1600 characters, and must match the following regular expression pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*]
    • *
    • PolicyNames - string|array - Optional - A list of policy names or policy ARNs to be described. If this list is omitted, all policy names are described. If an auto scaling group name is provided, the results are limited to that group. The list of requested policy names cannot contain more than 50 items. If unknown policy names are requested, they are ignored with no error. Pass a string for a single value, or an indexed array for multiple values.
    • *
    • NextToken - string - Optional - A string that is used to mark the start of the next batch of returned results for pagination. [Constraints: The value must match the following regular expression pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*]
    • *
    • MaxRecords - integer - Optional - The maximum number of policies that will be described with each call.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Returns the scaling activities for the specified Auto Scaling group.
    	 *  
    	 * If the specified ActivityIds list is empty, all the activities from the past six
    	 * weeks are returned. Activities are sorted by completion time. Activities still in progress
    	 * appear first on the list.
    	 *  
    	 * This action supports pagination. If the response includes a token, there are more records
    	 * available. To get the additional records, repeat the request with the response token as the
    	 * NextToken parameter.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • ActivityIds - string|array - Optional - A list containing the activity IDs of the desired scaling activities. If this list is omitted, all activities are described. If an AutoScalingGroupName is provided, the results are limited to that group. The list of requested activities cannot contain more than 50 items. If unknown activities are requested, they are ignored with no error. Pass a string for a single value, or an indexed array for multiple values.
    • *
    • AutoScalingGroupName - string - Optional - The name of the AutoScalingGroup. [Constraints: The value must be between 1 and 1600 characters, and must match the following regular expression pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*]
    • *
    • MaxRecords - integer - Optional - The maximum number of scaling activities to return.
    • *
    • NextToken - string - Optional - A string that marks the start of the next batch of returned results for pagination. [Constraints: The value must match the following regular expression pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*]
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Returns scaling process types for use in the ResumeProcesses and
    	 * SuspendProcesses actions.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Lists all the actions scheduled for your Auto Scaling group that haven't been executed. To see
    	 * a list of actions already executed, see the activity record returned in
    	 * DescribeScalingActivities.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • AutoScalingGroupName - string - Optional - The name of the Auto Scaling group. [Constraints: The value must be between 1 and 1600 characters, and must match the following regular expression pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*]
    • *
    • ScheduledActionNames - string|array - Optional - A list of scheduled actions to be described. If this list is omitted, all scheduled actions are described. The list of requested scheduled actions cannot contain more than 50 items. If an auto scaling group name is provided, the results are limited to that group. If unknown scheduled actions are requested, they are ignored with no error. Pass a string for a single value, or an indexed array for multiple values.
    • *
    • StartTime - string - Optional - The earliest scheduled start time to return. If scheduled action names are provided, this field will be ignored. May be passed as a number of seconds since UNIX Epoch, or any string compatible with .
    • *
    • EndTime - string - Optional - The latest scheduled start time to return. If scheduled action names are provided, this field is ignored. May be passed as a number of seconds since UNIX Epoch, or any string compatible with .
    • *
    • NextToken - string - Optional - A string that marks the start of the next batch of returned results. [Constraints: The value must match the following regular expression pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*]
    • *
    • MaxRecords - integer - Optional - The maximum number of scheduled actions to return.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Lists the Auto Scaling group tags.
    	 *  
    	 * You can use filters to limit results when describing tags. For example, you can query for tags
    	 * of a particular Auto Scaling group. You can specify multiple values for a filter. A tag must
    	 * match at least one of the specified values for it to be included in the results.
    	 *  
    	 * You can also specify multiple filters. The result includes information for a particular tag
    	 * only if it matches all your filters. If there's no match, no special message is returned.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • Filters - array - Optional - The value of the filter type used to identify the tags to be returned. For example, you can filter so that tags are returned according to Auto Scaling group, the key and value, or whether the new tag will be applied to instances launched after the tag is created (PropagateAtLaunch).
        *
      • x - array - Optional - This represents a simple array index.
          *
        • Name - string - Optional - The name of the filter. Valid Name values are: "auto-scaling-group", "key", "value", and "propagate-at-launch". [Constraints: The value must match the following regular expression pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*]
        • *
        • Values - string|array - Optional - The value of the filter. Pass a string for a single value, or an indexed array for multiple values.
        • *
      • *
    • *
    • NextToken - string - Optional - A string that marks the start of the next batch of returned results. [Constraints: The value must match the following regular expression pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*]
    • *
    • MaxRecords - integer - Optional - The maximum number of records to return.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Returns a list of all termination policies supported by Auto Scaling.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Disables monitoring of group metrics for the Auto Scaling group specified in
    	 * AutoScalingGroupName. You can specify the list of affected metrics with the
    	 * Metrics parameter.
    	 *
    	 * @param string $auto_scaling_group_name (Required) The name or ARN of the Auto Scaling Group. [Constraints: The value must be between 1 and 1600 characters, and must match the following regular expression pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*]
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • Metrics - string|array - Optional - The list of metrics to disable. If no metrics are specified, all metrics are disabled. The following metrics are supported:
      • GroupMinSize
      • GroupMaxSize
      • GroupDesiredCapacity
      • GroupInServiceInstances
      • GroupPendingInstances
      • GroupTerminatingInstances
      • GroupTotalInstances
      Pass a string for a single value, or an indexed array for multiple values.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Enables monitoring of group metrics for the Auto Scaling group specified in
    	 * AutoScalingGroupName. You can specify the list of enabled metrics with the
    	 * Metrics parameter.
    	 *  
    	 * Auto scaling metrics collection can be turned on only if the InstanceMonitoring
    	 * flag, in the Auto Scaling group's launch configuration, is set to True.
    	 *
    	 * @param string $auto_scaling_group_name (Required) The name or ARN of the Auto Scaling group. [Constraints: The value must be between 1 and 1600 characters, and must match the following regular expression pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*]
    	 * @param string $granularity (Required) The granularity to associate with the metrics to collect. Currently, the only legal granularity is "1Minute". [Constraints: The value must be between 1 and 255 characters, and must match the following regular expression pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*]
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • Metrics - string|array - Optional - The list of metrics to collect. If no metrics are specified, all metrics are enabled. The following metrics are supported:
      • GroupMinSize
      • GroupMaxSize
      • GroupDesiredCapacity
      • GroupInServiceInstances
      • GroupPendingInstances
      • GroupTerminatingInstances
      • GroupTotalInstances
      Pass a string for a single value, or an indexed array for multiple values.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Runs the policy you create for your Auto Scaling group in PutScalingPolicy.
    	 *
    	 * @param string $policy_name (Required) The name or PolicyARN of the policy you want to run. [Constraints: The value must be between 1 and 1600 characters, and must match the following regular expression pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*]
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • AutoScalingGroupName - string - Optional - The name or ARN of the Auto Scaling group. [Constraints: The value must be between 1 and 1600 characters, and must match the following regular expression pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*]
    • *
    • HonorCooldown - boolean - Optional - Set to True if you want Auto Scaling to reject this request when the Auto Scaling group is in cooldown.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Configures an Auto Scaling group to send notifications when specified events take place.
    	 * Subscribers to this topic can have messages for events delivered to an endpoint such as a web
    	 * server or email address.
    	 *  
    	 * A new PutNotificationConfiguration overwrites an existing configuration.
    	 *
    	 * @param string $auto_scaling_group_name (Required) The name of the Auto Scaling group. [Constraints: The value must be between 1 and 1600 characters, and must match the following regular expression pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*]
    	 * @param string $topic_arn (Required) The Amazon Resource Name (ARN) of the Amazon Simple Notification Service (SNS) topic. [Constraints: The value must be between 1 and 1600 characters, and must match the following regular expression pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*]
    	 * @param string|array $notification_types (Required) The type of events that will trigger the notification. For more information, go to DescribeAutoScalingNotificationTypes. Pass a string for a single value, or an indexed array for multiple values.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Creates or updates a policy for an Auto Scaling group. To update an existing policy, use the
    	 * existing policy name and set the parameter(s) you want to change. Any existing parameter not
    	 * changed in an update to an existing policy is not changed in this update request.
    	 *
    	 * @param string $auto_scaling_group_name (Required) The name or ARN of the Auto Scaling group. [Constraints: The value must be between 1 and 1600 characters, and must match the following regular expression pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*]
    	 * @param string $policy_name (Required) The name of the policy you want to create or update. [Constraints: The value must be between 1 and 255 characters, and must match the following regular expression pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*]
    	 * @param integer $scaling_adjustment (Required) The number of instances by which to scale. AdjustmentType determines the interpretation of this number (e.g., as an absolute number or as a percentage of the existing Auto Scaling group size). A positive increment adds to the current capacity and a negative value removes from the current capacity.
    	 * @param string $adjustment_type (Required) Specifies whether the ScalingAdjustment is an absolute number or a percentage of the current capacity. Valid values are ChangeInCapacity, ExactCapacity, and PercentChangeInCapacity. [Constraints: The value must be between 1 and 255 characters, and must match the following regular expression pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*]
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • Cooldown - integer - Optional - The amount of time, in seconds, after a scaling activity completes before any further trigger-related scaling activities can start.
    • *
    • MinAdjustmentStep - integer - Optional - Used with AdjustmentType with the value PercentChangeInCapacity, the scaling policy changes the DesiredCapacity of the Auto Scaling group by at least the number of instances specified in the value. You will get a ValidationError if you use MinAdjustmentStep on a policy with an AdjustmentType other than PercentChangeInCapacity.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Creates a scheduled scaling action for an Auto Scaling group. If you leave a parameter
    	 * unspecified, the corresponding value remains unchanged in the affected Auto Scaling group.
    	 *
    	 * @param string $auto_scaling_group_name (Required) The name or ARN of the Auto Scaling group. [Constraints: The value must be between 1 and 1600 characters, and must match the following regular expression pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*]
    	 * @param string $scheduled_action_name (Required) The name of this scaling action. [Constraints: The value must be between 1 and 255 characters, and must match the following regular expression pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*]
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • Time - string - Optional - Time is deprecated. The time for this action to start. Time is an alias for StartTime and can be specified instead of StartTime, or vice versa. If both Time and StartTime are specified, their values should be identical. Otherwise, PutScheduledUpdateGroupAction will return an error. May be passed as a number of seconds since UNIX Epoch, or any string compatible with .
    • *
    • StartTime - string - Optional - The time for this action to start, as in --start-time 2010-06-01T00:00:00Z. When StartTime and EndTime are specified with Recurrence, they form the boundaries of when the recurring action will start and stop. May be passed as a number of seconds since UNIX Epoch, or any string compatible with .
    • *
    • EndTime - string - Optional - The time for this action to end. May be passed as a number of seconds since UNIX Epoch, or any string compatible with .
    • *
    • Recurrence - string - Optional - The time when recurring future actions will start. Start time is specified by the user following the Unix cron syntax format. For information about cron syntax, go to Wikipedia, The Free Encyclopedia. When StartTime and EndTime are specified with Recurrence, they form the boundaries of when the recurring action will start and stop. [Constraints: The value must be between 1 and 255 characters, and must match the following regular expression pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*]
    • *
    • MinSize - integer - Optional - The minimum size for the new Auto Scaling group.
    • *
    • MaxSize - integer - Optional - The maximum size for the Auto Scaling group.
    • *
    • DesiredCapacity - integer - Optional - The number of Amazon EC2 instances that should be running in the group.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Resumes Auto Scaling processes for an Auto Scaling group. For more information, see
    	 * SuspendProcesses and ProcessType.
    	 *
    	 * @param string $auto_scaling_group_name (Required) The name or Amazon Resource Name (ARN) of the Auto Scaling group. [Constraints: The value must be between 1 and 1600 characters, and must match the following regular expression pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*]
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • ScalingProcesses - string|array - Optional - The processes that you want to suspend or resume, which can include one or more of the following:
      • Launch
      • Terminate
      • HealthCheck
      • ReplaceUnhealthy
      • AZRebalance
      • AlarmNotification
      • ScheduledActions
      • AddToLoadBalancer
      To suspend all process types, omit this parameter. Pass a string for a single value, or an indexed array for multiple values.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Adjusts the desired size of the AutoScalingGroup by initiating scaling activities.
    	 * When reducing the size of the group, it is not possible to define which Amazon EC2 instances
    	 * will be terminated. This applies to any Auto Scaling decisions that might result in terminating
    	 * instances.
    	 *  
    	 * There are two common use cases for SetDesiredCapacity: one for users of the Auto
    	 * Scaling triggering system, and another for developers who write their own triggering systems.
    	 * Both use cases relate to the concept of cooldown.
    	 *  
    	 * In the first case, if you use the Auto Scaling triggering system,
    	 * SetDesiredCapacity changes the size of your Auto Scaling group without regard to
    	 * the cooldown period. This could be useful, for example, if Auto Scaling did something
    	 * unexpected for some reason. If your cooldown period is 10 minutes, Auto Scaling would normally
    	 * reject requests to change the size of the group for that entire 10-minute period. The
    	 * SetDesiredCapacity command allows you to circumvent this restriction and change
    	 * the size of the group before the end of the cooldown period.
    	 *  
    	 * In the second case, if you write your own triggering system, you can use
    	 * SetDesiredCapacity to control the size of your Auto Scaling group. If you want the
    	 * same cooldown functionality that Auto Scaling offers, you can configure
    	 * SetDesiredCapacity to honor cooldown by setting the HonorCooldown
    	 * parameter to true.
    	 *
    	 * @param string $auto_scaling_group_name (Required) The name of the Auto Scaling group. [Constraints: The value must be between 1 and 1600 characters, and must match the following regular expression pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*]
    	 * @param integer $desired_capacity (Required) The new capacity setting for the Auto Scaling group.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • HonorCooldown - boolean - Optional - By default, SetDesiredCapacity overrides any cooldown period. Set to True if you want Auto Scaling to reject this request when the Auto Scaling group is in cooldown.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Sets the health status of an instance.
    	 *
    	 * @param string $instance_id (Required) The identifier of the Amazon EC2 instance. [Constraints: The value must be between 1 and 16 characters, and must match the following regular expression pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*]
    	 * @param string $health_status (Required) The health status of the instance. "Healthy" means that the instance is healthy and should remain in service. "Unhealthy" means that the instance is unhealthy. Auto Scaling should terminate and replace it. [Constraints: The value must be between 1 and 32 characters, and must match the following regular expression pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*]
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • ShouldRespectGracePeriod - boolean - Optional - If True, this call should respect the grace period associated with the group.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Suspends Auto Scaling processes for an Auto Scaling group. To suspend specific process types,
    	 * specify them by name with the ScalingProcesses.member.N parameter. To suspend all
    	 * process types, omit the ScalingProcesses.member.N parameter.
    	 * 
    	 * 

    * Suspending either of the two primary process types, Launch or * Terminate, can prevent other process types from functioning properly. For more * information about processes and their dependencies, see ProcessType. * * To resume processes that have been suspended, use ResumeProcesses. * * @param string $auto_scaling_group_name (Required) The name or Amazon Resource Name (ARN) of the Auto Scaling group. [Constraints: The value must be between 1 and 1600 characters, and must match the following regular expression pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*] * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • ScalingProcesses - string|array - Optional - The processes that you want to suspend or resume, which can include one or more of the following:
      • Launch
      • Terminate
      • HealthCheck
      • ReplaceUnhealthy
      • AZRebalance
      • AlarmNotification
      • ScheduledActions
      • AddToLoadBalancer
      To suspend all process types, omit this parameter. Pass a string for a single value, or an indexed array for multiple values.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Terminates the specified instance. Optionally, the desired group size can be adjusted.
    	 * 
    	 * 

    * This call simply registers a termination request. The termination of the instance cannot happen * immediately. *

    * * @param string $instance_id (Required) The ID of the Amazon EC2 instance to be terminated. [Constraints: The value must be between 1 and 16 characters, and must match the following regular expression pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*] * @param boolean $should_decrement_desired_capacity (Required) Specifies whether (true) or not (false) terminating this instance should also decrement the size of the AutoScalingGroup. * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Updates the configuration for the specified AutoScalingGroup.
    	 * 
    	 * 

    * To update an Auto Scaling group with a launch configuration that has the * InstanceMonitoring flag set to False, you must first ensure that * collection of group metrics is disabled. Otherwise, calls to * UpdateAutoScalingGroup will fail. If you have previously enabled group metrics * collection, you can disable collection of all group metrics by calling * DisableMetricsCollection. * * The new settings are registered upon the completion of this call. Any launch configuration * settings take effect on any triggers after this call returns. Triggers that are currently in * progress aren't affected. * *

    *
      *
    • If a new value is specified for MinSize without specifying the value for * DesiredCapacity, and if the new MinSize is larger than the current * size of the Auto Scaling Group, there will be an implicit call to * SetDesiredCapacity to set the group to the new MinSize.
    • *
    • If a new value is specified for MaxSize without specifying the value for * DesiredCapacity, and the new MaxSize is smaller than the current size * of the Auto Scaling Group, there will be an implicit call to * SetDesiredCapacity to set the group to the new MaxSize.
    • *
    • All other optional parameters are left unchanged if not passed in the request.
    • *
    * * @param string $auto_scaling_group_name (Required) The name of the Auto Scaling group. [Constraints: The value must be between 1 and 1600 characters, and must match the following regular expression pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*] * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • LaunchConfigurationName - string - Optional - The name of the launch configuration. [Constraints: The value must be between 1 and 1600 characters, and must match the following regular expression pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*]
    • *
    • MinSize - integer - Optional - The minimum size of the Auto Scaling group.
    • *
    • MaxSize - integer - Optional - The maximum size of the Auto Scaling group.
    • *
    • DesiredCapacity - integer - Optional - The desired capacity for the Auto Scaling group.
    • *
    • DefaultCooldown - integer - Optional - The amount of time, in seconds, after a scaling activity completes before any further trigger-related scaling activities can start.
    • *
    • AvailabilityZones - string|array - Optional - Availability Zones for the group. Pass a string for a single value, or an indexed array for multiple values.
    • *
    • HealthCheckType - string - Optional - The service of interest for the health status check, either "EC2" for Amazon EC2 or "ELB" for Elastic Load Balancing. [Constraints: The value must be between 1 and 32 characters, and must match the following regular expression pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*]
    • *
    • HealthCheckGracePeriod - integer - Optional - The length of time that Auto Scaling waits before checking an instance's health status. The grace period begins when an instance comes into service.
    • *
    • PlacementGroup - string - Optional - The name of the cluster placement group, if applicable. For more information, go to Using Cluster Instances in the Amazon EC2 User Guide. [Constraints: The value must be between 1 and 255 characters, and must match the following regular expression pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*]
    • *
    • VPCZoneIdentifier - string - Optional - The subnet identifier for the Amazon VPC connection, if applicable. You can specify several subnets in a comma-separated list. When you specify VPCZoneIdentifier with AvailabilityZones, ensure that the subnets' Availability Zones match the values you specify for AvailabilityZones. [Constraints: The value must be between 1 and 255 characters, and must match the following regular expression pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*]
    • *
    • TerminationPolicies - string|array - Optional - A standalone termination policy or a list of termination policies used to select the instance to terminate. The policies are executed in the order that they are listed. For more information on creating a termination policy for your Auto Scaling group, go to Instance Termination Policy for Your Auto Scaling Group in the the Auto Scaling Developer Guide. Pass a string for a single value, or an indexed array for multiple values.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    /*%******************************************************************************************%*/
    

    Class: AS_Exception extends Exception {


    File: /destinations/_s3lib/aws-sdk/services/cloudformation.class.php

    /*
     * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
     *
     * Licensed under the Apache License, Version 2.0 (the "License").
     * You may not use this file except in compliance with the License.
     * A copy of the License is located at
     *
     *  http://aws.amazon.com/apache2.0
     *
     * or in the "license" file accompanying this file. This file is distributed
     * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
     * express or implied. See the License for the specific language governing
     * permissions and limitations under the License.
     */
    
    /**
     * AWS CloudFormation enables you to create and manage AWS infrastructure deployments predictably
     * and repeatedly. AWS CloudFormation helps you leverage AWS products such as Amazon EC2, EBS,
     * Amazon SNS, ELB, and Auto Scaling to build highly-reliable, highly scalable, cost effective
     * applications without worrying about creating and configuring the underlying the AWS
     * infrastructure.
     *  
     * With AWS CloudFormation, you declare all of your resources and dependencies in a template file.
     * The template defines a collection of resources as a single unit called a stack. AWS
     * CloudFormation creates and deletes all member resources of the stack together and manages all
     * dependencies between the resources for you.
     *  
     * For more information about this product, go to the CloudFormation Product Page.
     *  
     * Amazon CloudFormation makes use of other AWS products. If you need additional technical
     * information about a specific AWS product, you can find the product's technical documentation at
     * 	http://aws.amazon.com/documentation/.
     *
     * @version 2013.02.27
     * @license See the included NOTICE.md file for complete information.
     * @copyright See the included NOTICE.md file for complete information.
     * @link http://aws.amazon.com/cloudformation/ AWS CloudFormation
     * @link http://aws.amazon.com/cloudformation/documentation/ AWS CloudFormation documentation
     */
    
    	/*%******************************************************************************************%*/
    
    	/**
    	 * Specify the queue URL for the United States East (Northern Virginia) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the United States East (Northern Virginia) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the United States West (Northern California) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the United States West (Northern California) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the United States West (Oregon) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the United States West (Oregon) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the Europe West (Ireland) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the Europe West (Ireland) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the Asia Pacific Southeast (Singapore) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the Asia Pacific Southeast (Singapore) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the Asia Pacific Southeast (Singapore) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the Asia Pacific Southeast (Singapore) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the Asia Pacific Northeast (Tokyo) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the Asia Pacific Northeast (Tokyo) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the South America (Sao Paulo) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the South America (Sao Paulo) Region.
    	 */
    
    	/**
    	 * Default service endpoint.
    	 */
    
    	/*%******************************************************************************************%*/
    
    	/**
    	 * Constructs a new instance of .
    	 *
    	 * @param array $options (Optional) An associative array of parameters that can have the following keys: 
      *
    • certificate_authority - boolean - Optional - Determines which Cerificate Authority file to use. A value of boolean false will use the Certificate Authority file available on the system. A value of boolean true will use the Certificate Authority provided by the SDK. Passing a file system path to a Certificate Authority file (chmodded to 0755) will use that. Leave this set to false if you're not sure.
    • *
    • credentials - string - Optional - The name of the credential set to use for authentication.
    • *
    • default_cache_config - string - Optional - This option allows a preferred storage type to be configured for long-term caching. This can be changed later using the method. Valid values are: apc, xcache, or a file system path such as ./cache or /tmp/cache/.
    • *
    • key - string - Optional - Your AWS key, or a session key. If blank, the default credential set will be used.
    • *
    • secret - string - Optional - Your AWS secret key, or a session secret key. If blank, the default credential set will be used.
    • *
    • token - string - Optional - An AWS session token.
    * @return void */
    	/*%******************************************************************************************%*/
    
    	/**
    	 * This allows you to explicitly sets the region for the service to use.
    	 *
    	 * @param string $region (Required) The region to explicitly set. Available options are , , , , , , , .
    	 * @return $this A reference to the current instance.
    	 */
    
    	/*%******************************************************************************************%*/
    
    	/**
    	 * Cancels an update on the specified stack. If the call completes successfully, the stack will
    	 * roll back the update and revert to the previous stack configuration.
    	 * 
    	 * 

    * Only stacks that are in the UPDATE_IN_PROGRESS state can be canceled. *

    * * @param string $stack_name (Required) The name or the unique identifier associated with the stack. * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Creates a stack as specified in the template. After the call completes successfully, the stack
    	 * creation starts. You can check the status of the stack via the DescribeStacks API.
    	 * 
    	 * 

    * Currently, the limit for stacks is 20 stacks per account per region. *

    * * @param string $stack_name (Required) The name associated with the stack. The name must be unique within your AWS account.

    Must contain only alphanumeric characters (case sensitive) and start with an alpha character. Maximum length of the name is 255 characters.

    * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • TemplateBody - string - Optional - Structure containing the template body. (For more information, go to the AWS CloudFormation User Guide.) Conditional: You must pass TemplateBody or TemplateURL. If both are passed, only TemplateBody is used.
    • *
    • TemplateURL - string - Optional - Location of file containing the template body. The URL must point to a template (max size: 307,200 bytes) located in an S3 bucket in the same region as the stack. For more information, go to the AWS CloudFormation User Guide. Conditional: You must pass TemplateURL or TemplateBody. If both are passed, only TemplateBody is used.
    • *
    • Parameters - array - Optional - A list of Parameter structures that specify input parameters for the stack.
        *
      • x - array - Optional - This represents a simple array index.
          *
        • ParameterKey - string - Optional - The key associated with the parameter.
        • *
        • ParameterValue - string - Optional - The value associated with the parameter.
        • *
      • *
    • *
    • DisableRollback - boolean - Optional - Set to true to disable rollback of the stack if stack creation failed. You can specify either DisableRollback or OnFailure, but not both. Default: false
    • *
    • TimeoutInMinutes - integer - Optional - The amount of time that can pass before the stack status becomes CREATE_FAILED; if DisableRollback is not set or is set to false, the stack will be rolled back.
    • *
    • NotificationARNs - string|array - Optional - The Simple Notification Service (SNS) topic ARNs to publish stack related events. You can find your SNS topic ARNs using the SNS console or your Command Line Interface (CLI). Pass a string for a single value, or an indexed array for multiple values.
    • *
    • Capabilities - string|array - Optional - The list of capabilities that you want to allow in the stack. If your template contains IAM resources, you must specify the CAPABILITY_IAM value for this parameter; otherwise, this action returns an InsufficientCapabilities error. IAM resources are the following: AWS::IAM::AccessKey, AWS::IAM::Group, AWS::IAM::Policy, AWS::IAM::User, and AWS::IAM::UserToGroupAddition. Pass a string for a single value, or an indexed array for multiple values.
    • *
    • OnFailure - string - Optional - Determines what action will be taken if stack creation fails. This must be one of: DO_NOTHING, ROLLBACK, or DELETE. You can specify either OnFailure or DisableRollback, but not both. Default: ROLLBACK [Allowed values: DO_NOTHING, ROLLBACK, DELETE]
    • *
    • Tags - array - Optional - A set of user-defined Tags to associate with this stack, represented by key/value pairs. Tags defined for the stack are propogated to EC2 resources that are created as part of the stack. A maximum number of 10 tags can be specified.
        *
      • x - array - Optional - This represents a simple array index.
          *
        • Key - string - Optional - Required. A string used to identify this tag. You can specify a maximum of 128 characters for a tag key. Tags owned by Amazon Web Services (AWS) have the reserved prefix: aws:.
        • *
        • Value - string - Optional - Required. A string containing the value for this tag. You can specify a maximum of 256 characters for a tag value.
        • *
      • *
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Deletes a specified stack. Once the call completes successfully, stack deletion starts. Deleted
    	 * stacks do not show up in the DescribeStacks API if the deletion has been completed
    	 * successfully.
    	 *
    	 * @param string $stack_name (Required) The name or the unique identifier associated with the stack.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Returns all the stack related events for the AWS account. If StackName is
    	 * specified, returns events related to all the stacks with the given name. If
    	 * StackName is not specified, returns all the events for the account. For more
    	 * information about a stack's event history, go to the AWS CloudFormation User
    	 * Guide.
    	 * 
    	 * 

    * Events are returned, even if the stack never existed or has been successfully deleted. *

    * * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • StackName - string - Optional - The name or the unique identifier associated with the stack. Default: There is no default value.
    • *
    • NextToken - string - Optional - String that identifies the start of the next list of events, if there is one. Default: There is no default value.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Returns a description of the specified resource in the specified stack.
    	 *  
    	 * For deleted stacks, DescribeStackResource returns resource information for up to 90 days after
    	 * the stack has been deleted.
    	 *
    	 * @param string $stack_name (Required) The name or the unique identifier associated with the stack. Default: There is no default value.
    	 * @param string $logical_resource_id (Required) The logical name of the resource as specified in the template. Default: There is no default value.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Returns AWS resource descriptions for running and deleted stacks. If StackName is
    	 * specified, all the associated resources that are part of the stack are returned. If
    	 * PhysicalResourceId is specified, the associated resources of the stack that the
    	 * resource belongs to are returned.
    	 * 
    	 * 

    * Only the first 100 resources will be returned. If your stack has more resources than this, you * should use ListStackResources instead. *

    * For deleted stacks, DescribeStackResources returns resource information for up to * 90 days after the stack has been deleted. * * You must specify either StackName or PhysicalResourceId, but not * both. In addition, you can specify LogicalResourceId to filter the returned * result. For more information about resources, the LogicalResourceId and * PhysicalResourceId, go to the AWS CloudFormation User * Guide. * *

    * A ValidationError is returned if you specify both StackName and * PhysicalResourceId in the same request. *

    * * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • StackName - string - Optional - The name or the unique identifier associated with the stack. Required: Conditional. If you do not specify StackName, you must specify PhysicalResourceId. Default: There is no default value.
    • *
    • LogicalResourceId - string - Optional - The logical name of the resource as specified in the template. Default: There is no default value.
    • *
    • PhysicalResourceId - string - Optional - The name or unique identifier that corresponds to a physical instance ID of a resource supported by AWS CloudFormation. For example, for an Amazon Elastic Compute Cloud (EC2) instance, PhysicalResourceId corresponds to the InstanceId. You can pass the EC2 InstanceId to DescribeStackResources to find which stack the instance belongs to and what other resources are part of the stack. Required: Conditional. If you do not specify PhysicalResourceId, you must specify StackName. Default: There is no default value.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Returns the description for the specified stack; if no stack name was specified, then it
    	 * returns the description for all the stacks created.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • StackName - string - Optional - The name or the unique identifier associated with the stack. Default: There is no default value.
    • *
    • NextToken - string - Optional -
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Returns the estimated monthly cost of a template. The return value is an AWS Simple Monthly
    	 * Calculator URL with a query string that describes the resources required to run the template.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • TemplateBody - string - Optional - Structure containing the template body. (For more information, go to the AWS CloudFormation User Guide.) Conditional: You must pass TemplateBody or TemplateURL. If both are passed, only TemplateBody is used.
    • *
    • TemplateURL - string - Optional - Location of file containing the template body. The URL must point to a template located in an S3 bucket in the same region as the stack. For more information, go to the AWS CloudFormation User Guide. Conditional: You must pass TemplateURL or TemplateBody. If both are passed, only TemplateBody is used.
    • *
    • Parameters - array - Optional - A list of Parameter structures that specify input parameters.
        *
      • x - array - Optional - This represents a simple array index.
          *
        • ParameterKey - string - Optional - The key associated with the parameter.
        • *
        • ParameterValue - string - Optional - The value associated with the parameter.
        • *
      • *
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Returns the template body for a specified stack name. You can get the template for running or
    	 * deleted stacks.
    	 *  
    	 * For deleted stacks, GetTemplate returns the template for up to 90 days after the stack has been
    	 * deleted.
    	 * 
    	 * 

    * If the template does not exist, a ValidationError is returned. *

    * * @param string $stack_name (Required) The name or the unique identifier associated with the stack. * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Returns descriptions of all resources of the specified stack.
    	 *  
    	 * For deleted stacks, ListStackResources returns resource information for up to 90 days after the
    	 * stack has been deleted.
    	 *
    	 * @param string $stack_name (Required) The name or the unique identifier associated with the stack. Default: There is no default value.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • NextToken - string - Optional - String that identifies the start of the next list of stack resource summaries, if there is one. Default: There is no default value.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Returns the summary information for stacks whose status matches the specified
    	 * StackStatusFilter. Summary information for stacks that have been deleted is kept for 90 days
    	 * after the stack is deleted. If no StackStatusFilter is specified, summary information for all
    	 * stacks is returned (including existing stacks and stacks that have been deleted).
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • NextToken - string - Optional - String that identifies the start of the next list of stacks, if there is one. Default: There is no default value.
    • *
    • StackStatusFilter - string|array - Optional - Stack status to use as a filter. Specify one or more stack status codes to list only stacks with the specified status codes. For a complete list of stack status codes, see the StackStatus parameter of the Stack data type. Pass a string for a single value, or an indexed array for multiple values.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Updates a stack as specified in the template. After the call completes successfully, the stack
    	 * update starts. You can check the status of the stack via the DescribeStacks
    	 * action.
    	 *  
    	 * To get a copy of the template for an existing stack, you can use the GetTemplate
    	 * action.
    	 *  
    	 * Tags that were associated with this stack during creation time will still be associated with
    	 * the stack after an UpdateStack operation.
    	 *  
    	 * For more information about creating an update template, updating a stack, and monitoring the
    	 * progress of the update, see 
    	 * Updating a Stack.
    	 *
    	 * @param string $stack_name (Required) The name or stack ID of the stack to update. 

    Must contain only alphanumeric characters (case sensitive) and start with an alpha character. Maximum length of the name is 255 characters.

    * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • TemplateBody - string - Optional - Structure containing the template body. (For more information, go to the AWS CloudFormation User Guide.) Conditional: You must pass TemplateBody or TemplateURL. If both are passed, only TemplateBody is used.
    • *
    • TemplateURL - string - Optional - Location of file containing the template body. The URL must point to a template located in an S3 bucket in the same region as the stack. For more information, go to the AWS CloudFormation User Guide. Conditional: You must pass TemplateURL or TemplateBody. If both are passed, only TemplateBody is used.
    • *
    • Parameters - array - Optional - A list of Parameter structures that specify input parameters for the stack.
        *
      • x - array - Optional - This represents a simple array index.
          *
        • ParameterKey - string - Optional - The key associated with the parameter.
        • *
        • ParameterValue - string - Optional - The value associated with the parameter.
        • *
      • *
    • *
    • Capabilities - string|array - Optional - The list of capabilities that you want to allow in the stack. If your stack contains IAM resources, you must specify the CAPABILITY_IAM value for this parameter; otherwise, this action returns an InsufficientCapabilities error. IAM resources are the following: AWS::IAM::AccessKey, AWS::IAM::Group, AWS::IAM::Policy, AWS::IAM::User, and AWS::IAM::UserToGroupAddition. Pass a string for a single value, or an indexed array for multiple values.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Validates a specified template.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • TemplateBody - string - Optional - String containing the template body. (For more information, go to the AWS CloudFormation User Guide.) Conditional: You must pass TemplateURL or TemplateBody. If both are passed, only TemplateBody is used.
    • *
    • TemplateURL - string - Optional - Location of file containing the template body. The URL must point to a template (max size: 307,200 bytes) located in an S3 bucket in the same region as the stack. For more information, go to the AWS CloudFormation User Guide. Conditional: You must pass TemplateURL or TemplateBody. If both are passed, only TemplateBody is used.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    /*%******************************************************************************************%*/
    

    Class: CloudFormation_Exception extends Exception {


    File: /destinations/_s3lib/aws-sdk/services/cloudfront.class.php

    /*
     * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
     *
     * Licensed under the Apache License, Version 2.0 (the "License").
     * You may not use this file except in compliance with the License.
     * A copy of the License is located at
     *
     *  http://aws.amazon.com/apache2.0
     *
     * or in the "license" file accompanying this file. This file is distributed
     * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
     * express or implied. See the License for the specific language governing
     * permissions and limitations under the License.
     */
    
    /*%******************************************************************************************%*/
    
    /**
     * Default CloudFront Exception.
     */
    

    Class: CloudFront_Exception extends Exception {

    /*%******************************************************************************************%*/
    
    /**
     * Amazon CloudFront is a web service for content delivery. It makes it easier for you to distribute content
     * to end users quickly, with low latency and high data transfer speeds.
     *
     * CloudFront delivers your content through a worldwide network of edge locations. End users are routed to
     * the nearest edge location, so content is delivered with the best possible performance. CloudFront works
     * seamlessly with the Amazon Simple Storage Service, which durably stores the original, definitive versions
     * of your files.
     *
     * @version 2012.04.20
     * @license See the included NOTICE.md file for more information.
     * @copyright See the included NOTICE.md file for more information.
     * @link http://aws.amazon.com/cloudfront/ Amazon CloudFront
     * @link http://aws.amazon.com/documentation/cloudfront/ Amazon CloudFront documentation
     */
    
    	/**
    	 * Specify the default queue URL.
    	 */
    
    	/**
    	 * The InProgress state.
    	 */
    
    	/**
    	 * The Deployed state.
    	 */
    
    	/**
    	 * The base content to use for generating the DistributionConfig XML.
    	 */
    
    	/**
    	 * The CloudFront distribution domain to use.
    	 */
    
    	/**
    	 * The RSA key pair ID to use.
    	 */
    
    	/**
    	 * The RSA private key resource locator.
    	 */
    
    	/*%******************************************************************************************%*/
    
    	/**
    	 * Constructs a new instance of .
    	 *
    	 * @param array $options (Optional) An associative array of parameters that can have the following keys: 
      *
    • certificate_authority - boolean - Optional - Determines which Cerificate Authority file to use. A value of boolean false will use the Certificate Authority file available on the system. A value of boolean true will use the Certificate Authority provided by the SDK. Passing a file system path to a Certificate Authority file (chmodded to 0755) will use that. Leave this set to false if you're not sure.
    • *
    • credentials - string - Optional - The name of the credential set to use for authentication.
    • *
    • default_cache_config - string - Optional - This option allows a preferred storage type to be configured for long-term caching. This can be changed later using the method. Valid values are: apc, xcache, or a file system path such as ./cache or /tmp/cache/.
    • *
    • key - string - Optional - Your AWS key, or a session key. If blank, the default credential set will be used.
    • *
    • secret - string - Optional - Your AWS secret key, or a session secret key. If blank, the default credential set will be used.
    • *
    • token - string - Optional - An AWS session token.
    * @return void */
    	/*%******************************************************************************************%*/
    
    	/**
    	 * Authenticates a connection to Amazon CloudFront. This method should not be used directly unless
    	 * you're writing custom methods for this class.
    	 *
    	 * @param string $operation (Required) The HTTP method to use to connect. Accepts GET, POST, PUT, DELETE, and HEAD.
    	 * @param array $payload (Required) An associative array of parameters for authenticating. See the individual methods for allowed keys.
    	 * @return CFResponse A  object containing a parsed HTTP response.
    	 * @link http://docs.amazonwebservices.com/AmazonCloudFront/latest/DeveloperGuide/RESTAuthentication.html Authentication
    	 */
    
    	/*%******************************************************************************************%*/
    
    	/**
    	 * Set the key ID of the RSA key pair being used.
    	 *
    	 * @param string $key_pair_id (Required) The ID of the RSA key pair being used.
    	 * @return $this A reference to the current instance.
    	 */
    
    	/**
    	 * Set the private key resource locator being used.
    	 *
    	 * @param string $private_key (Optional) The contents of the RSA private key used to sign requests.
    	 * @return $this A reference to the current instance.
    	 */
    
    	/**
    	 * Overrides the  method from the base class. SSL is required for CloudFront.
    	 *
    	 * @return void
    	 */
    
    	/*%******************************************************************************************%*/
    
    	/**
    	 * Generates the distribution configuration XML used with  and
    	 * .
    	 *
    	 * @param string $origin (Required) The source to use for the Amazon CloudFront distribution. Use an Amazon S3 bucket name, or a fully-qualified non-S3 domain name prefixed with http:// or https://.
    	 * @param string $caller_reference (Required) A unique identifier for the request. A timestamp-appended string is recommended.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • CNAME - string|array - Optional - A DNS CNAME to use to map to the Amazon CloudFront distribution. If setting more than one, use an indexed array. Supports 1-10 CNAMEs.
    • *
    • Comment - string - Optional - A comment to apply to the distribution. Cannot exceed 128 characters.
    • *
    • DefaultRootObject - string - Optional - The file to load when someone accesses the root of your Amazon CloudFront domain (e.g., index.html).
    • *
    • Enabled - string - Optional - A value of true enables the distribution. A value of false disables it. The default value is true.
    • *
    • Logging - array - Optional - An array that contains two keys: Bucket, specifying where logs are written to, and Prefix, specifying a prefix to append to log file names.
    • *
    • OriginAccessIdentity - string - Optional - The origin access identity (OAI) associated with this distribution. Use the Identity ID from the OAI, not the CanonicalId. Requires an S3 origin.
    • *
    • OriginProtocolPolicy - string - Optional - The origin protocol policy to apply to your origin. If you specify http-only, CloudFront will use HTTP only to access the origin. If you specify match-viewer, CloudFront will fetch from your origin using HTTP or HTTPS, based on the protocol of the viewer request. It has a default value of match-viewer. [Allowed values: http-only, match-viewer]
    • *
    • Streaming - boolean - Optional - Whether or not this should be for a streaming distribution. A value of true will create a streaming distribution. A value of false will create a standard distribution. The default value is false.
    • *
    • TrustedSigners - array - Optional - An array of AWS account numbers for users who are trusted signers. Explicity add the value Self to the array to add your own account as a trusted signer.
    * @return string An XML document to be used as the distribution configuration. */
    	/**
    	 * Updates an existing configuration XML document.
    	 *
    	 * @param CFSimpleXML|CFResponse|string $xml (Required) The source configuration XML to make updates to. Can be the  body of a  response, the entire  of a  response, or a string of XML generated by  or .
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • CNAME - string|array - Optional - The value or values to add to the existing list of CNAME values. If setting more than one, use an indexed array. Supports up to 10 CNAMEs.
    • *
    • Comment - string - Optional - A comment to apply to the distribution. Cannot exceed 128 characters.
    • *
    • DefaultRootObject - string - Optional - The file to load when someone accesses the root of your Amazon CloudFront domain (e.g., index.html).
    • *
    • Enabled - string - Optional - A value of true enables the distribution. A value of false disables it. The default value is true.
    • *
    • Logging - array - Optional - An array that contains two keys: Bucket, specifying where logs are written to, and Prefix, specifying a prefix to append to log file names.
    • *
    • OriginAccessIdentity - string - Optional - The origin access identity (OAI) associated with this distribution. Use the Identity ID from the OAI, not the CanonicalId.
    • *
    • TrustedSigners - array - Optional - An array of AWS account numbers for users who are trusted signers. Explicity add the value Self to the array to add your own account as a trusted signer.
    * @return string XML document. */
    	/**
    	 * Removes one or more CNAMEs from a DistibutionConfig XML document.
    	 *
    	 * @param CFSimpleXML|CFResponse|string $xml (Required) The source DistributionConfig XML to make updates to. Can be the  body of a  response, the entire  of a  response, or a string of XML generated by  or .
    	 * @param string|array $cname (Optional) The value or values to remove from the existing list of CNAME values. To add a CNAME value, see .
    	 * @return string XML document.
    	 */
    
    	/**
    	 * Used to generate the origin access identity (OAI) Config XML used in .
    	 *
    	 * @param string $caller_reference (Required) A unique identifier for the request. A timestamp-appended string is recommended.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • Comment - string - Optional - Replaces the existing value for "Comment". Cannot exceed 128 characters.
    * @return string An XML document to be used as the OAI configuration. */
    	/**
    	 * Updates the origin access identity (OAI) configureation XML used in .
    	 *
    	 * @param CFSimpleXML|CFResponse|string $xml (Required) The source configuration XML to make updates to. Can be the  body of a  response, the entire  of a  response, or a string of XML generated by  or .
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • Comment - string - Optional - Replaces the existing value for "Comment". Cannot exceed 128 characters.
    * @return string XML document. */
    	/**
    	 * Generates the Invalidation Config XML used in .
    	 *
    	 * @param string $caller_reference (Required) A unique identifier for the request. A timestamp-appended string is recommended.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • Paths - string|array - Optional - One or more paths to set for invalidation. Pass a string for a single value, or an indexed array for multiple values.
    * @return string An XML document to be used as the Invalidation configuration. */
    	/*%******************************************************************************************%*/
    
    	/**
    	 * Creates an Amazon CloudFront distribution. You can have up to 100 distributions in the Amazon
    	 * CloudFront system.
    	 *
    	 * For an Adobe Real-Time Messaging Protocol (RTMP) streaming distribution, set the Streaming option
    	 * to true.
    	 *
    	 * @param string $origin (Required) The source to use for the Amazon CloudFront distribution. Use an Amazon S3 bucket name, or a fully-qualified non-S3 domain name prefixed with http:// or https://.
    	 * @param string $caller_reference (Required) A unique identifier for the request. A timestamp-appended string is recommended.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • CNAME - string|array - Optional - A DNS CNAME to use to map to the Amazon CloudFront distribution. If setting more than one, use an indexed array. Supports 1-10 CNAMEs.
    • *
    • Comment - string - Optional - A comment to apply to the distribution. Cannot exceed 128 characters.
    • *
    • DefaultRootObject - string - Optional - The file to load when someone accesses the root of the Amazon CloudFront domain (e.g., index.html).
    • *
    • Enabled - string - Optional - A value of true will enable the distribution. A value of false will disable it. The default value is true.
    • *
    • OriginAccessIdentity - string - Optional - The origin access identity (OAI) associated with this distribution. Use the Identity ID from the OAI, not the CanonicalId. Requires an S3 origin.
    • *
    • OriginProtocolPolicy - string - Optional - The origin protocol policy to apply to your origin. If you specify http-only, CloudFront will use HTTP only to access the origin. If you specify match-viewer, CloudFront will fetch from your origin using HTTP or HTTPS, based on the protocol of the viewer request. [Allowed values: http-only, match-viewer]. The default value is match-viewer. Requires a non-S3 origin.
    • *
    • Streaming - boolean - Optional - Whether or not this should be for a streaming distribution. A value of true creates a streaming distribution. A value of false creates a standard distribution. The default value is false.
    • *
    • Logging - array - Optional - Controls whether access logs are written for the distribution. If you want to turn on access logs, include this element; if you want to turn off access logs, remove this element.
    • *
    • TrustedSigners - array - Optional - An array of AWS account numbers for users who are trusted signers. Explicity add the value Self to the array to add your own account as a trusted signer.
    • *
    • RequiredProtocols - string - Optional - Use this element to restrict access to your distribution solely to HTTPS requests. Without this element, CloudFront can use any available protocol to serve the request.
    • *
    • CachingBehavior - array - Optional - Determines the minimum TTL for objects in the CloudFront cache. This value specifies a lower bound for values in the headers for an object, for example, in the Cache-Control max-age directive.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. * @link http://docs.amazonwebservices.com/AmazonCloudFront/latest/APIReference/CreateDistribution.html POST Distribution * @link http://docs.amazonwebservices.com/AmazonCloudFront/latest/APIReference/CreateStreamingDistribution.html POST Streaming Distribution */
    	/**
    	 * Gets a list of distributions. By default, the list is returned as one result. If needed, paginate the
    	 * list by specifying values for the MaxItems and Marker parameters.
    	 *
    	 * Standard distributions are listed separately from streaming distributions. For streaming distributions,
    	 * set the Streaming option to true.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • Marker - string - Optional - Use this setting when paginating results to indicate where in your list of distributions to begin. The results include distributions in the list that occur after the marker. To get the next page of results, set the Marker to the value of the NextMarker from the current page's response (which is also the ID of the last distribution on that page).
    • *
    • MaxItems - integer - Optional - The maximum number of distributions you want in the response body. Maximum of 100.
    • *
    • Streaming - boolean - Optional - Whether or not this should be for a streaming distribution. A value of true will create a streaming distribution. A value of false will create a standard distribution. The default value is false.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. * @link http://docs.amazonwebservices.com/AmazonCloudFront/latest/APIReference/ListDistributions.html GET Distribution List * @link http://docs.amazonwebservices.com/AmazonCloudFront/latest/APIReference/ListStreamingDistributions.html GET Streaming Distribution List */
    	/**
    	 * Gets distribution information for the specified distribution ID.
    	 *
    	 * Standard distributions are handled separately from streaming distributions. For streaming
    	 * distributions, set the Streaming option to true.
    	 *
    	 * @param string $distribution_id (Required) The distribution ID returned from  or .
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • Streaming - boolean - Optional - Whether or not this should be for a streaming distribution. A value of true will create a streaming distribution. A value of false will create a standard distribution. The default value is false.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. * @link http://docs.amazonwebservices.com/AmazonCloudFront/latest/APIReference/GetDistribution.html GET Distribution * @link http://docs.amazonwebservices.com/AmazonCloudFront/latest/APIReference/GetStreamingDistribution.html GET Streaming Distribution */
    	/**
    	 * Deletes a disabled distribution. If distribution hasn't been disabled, Amazon CloudFront returns a
    	 * DistributionNotDisabled error. Use  to disable a distribution before
    	 * attempting to delete.
    	 *
    	 * For an Adobe Real-Time Messaging Protocol (RTMP) streaming distribution, set the Streaming option
    	 * to be true.
    	 *
    	 * @param string $distribution_id (Required) The distribution ID returned from  or .
    	 * @param string $etag (Required) The ETag header value retrieved from .
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • Streaming - boolean - Optional - Whether or not this should be for a streaming distribution. A value of true will create a streaming distribution. A value of false will create a standard distribution. The default value is false.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. * @link http://docs.amazonwebservices.com/AmazonCloudFront/latest/APIReference/DeleteDistribution.html DELETE Distribution * @link http://docs.amazonwebservices.com/AmazonCloudFront/latest/APIReference/DeleteStreamingDistribution.html DELETE Streaming Distribution */
    	/**
    	 * Gets the current distribution configuration for the specified distribution ID.
    	 *
    	 * Standard distributions are handled separately from streaming distributions. For streaming
    	 * distributions, set the Streaming option to true.
    	 *
    	 * @param string $distribution_id (Required) The distribution ID returned from  or .
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • Streaming - boolean - Optional - Whether or not this should be for a streaming distribution. A value of true will create a streaming distribution. A value of false will create a standard distribution. The default value is false.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. * @link http://docs.amazonwebservices.com/AmazonCloudFront/latest/APIReference/GetConfig.html GET Distribution Config * @link http://docs.amazonwebservices.com/AmazonCloudFront/latest/APIReference/GetStreamingDistConfig.html GET Streaming Distribution Config */
    	/**
    	 * Sets a new distribution configuration for the specified distribution ID.
    	 *
    	 * Standard distributions are handled separately from streaming distributions. For streaming
    	 * distributions, set the Streaming option to true.
    	 *
    	 * @param string $distribution_id (Required) The distribution ID returned from  or .
    	 * @param string $xml (Required) The DistributionConfig XML generated by  or .
    	 * @param string $etag (Required) The ETag header value retrieved from .
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • Streaming - boolean - Optional - Whether or not this should be for a streaming distribution. A value of true will create a streaming distribution. A value of false will create a standard distribution. The default value is false.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. * @link http://docs.amazonwebservices.com/AmazonCloudFront/latest/APIReference/PutConfig.html PUT Distribution Config * @link http://docs.amazonwebservices.com/AmazonCloudFront/latest/APIReference/PutStreamingDistConfig.html PUT Streaming Distribution Config */
    	/*%******************************************************************************************%*/
    
    	/**
    	 * Creates a new Amazon CloudFront origin access identity (OAI). You can create up to 100 OAIs per AWS
    	 * account. For more information, see the Amazon CloudFront Developer Guide.
    	 *
    	 * @param string $caller_reference (Required) A unique identifier for the request. A timestamp-appended string is recommended.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • Comment - string - Optional - A comment about the OAI.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. * @link http://docs.amazonwebservices.com/AmazonCloudFront/latest/APIReference/CreateOAI.html POST Origin Access Identity */
    	/**
    	 * Gets a list of origin access identity (OAI) summaries. By default, the list is returned as one result.
    	 * If needed, paginate the list by specifying values for the MaxItems and Marker
    	 * parameters.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • Marker - string - Optional - Use this when paginating results to indicate where in your list of distributions to begin. The results include distributions in the list that occur after the marker. To get the next page of results, set the Marker to the value of the NextMarker from the current page's response (which is also the ID of the last distribution on that page).
    • *
    • MaxItems - integer - Optional - The maximum number of distributions you want in the response body. Maximum of 100.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. * @link http://docs.amazonwebservices.com/AmazonCloudFront/latest/APIReference/ListOAIs.html GET Origin Access Identity List */
    	/**
    	 * Gets information about an origin access identity (OAI).
    	 *
    	 * @param string $identity_id (Required) The Identity ID for an existing OAI.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. * @link http://docs.amazonwebservices.com/AmazonCloudFront/latest/APIReference/GetOAI.html GET Origin Access Identity */
    	/**
    	 * Deletes an Amazon CloudFront origin access identity (OAI). To delete an OAI, the identity must first
    	 * be disassociated from all distributions (by updating each distribution's configuration to omit the
    	 * OriginAccessIdentity element). Wait until each distribution's state is Deployed
    	 * before deleting the OAI.
    	 *
    	 * @param string $identity_id (Required) An Identity ID for an existing OAI.
    	 * @param string $etag (Required) The ETag header value retrieved from a call to .
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. * @link http://docs.amazonwebservices.com/AmazonCloudFront/latest/APIReference/DeleteOAI.html DELETE Origin Access Identity */
    	/**
    	 * Gets the configuration of the origin access identity (OAI) for the specified identity ID.
    	 *
    	 * @param string $identity_id (Required) An Identity ID for an existing OAI.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. * @link http://docs.amazonwebservices.com/AmazonCloudFront/latest/APIReference/GetOAIConfig.html GET Origin Access Identity Config */
    	/**
    	 * Sets the configuration for an Amazon CloudFront origin access identity (OAI). Use this when updating
    	 * the configuration. Currently, only comments may be updated.  Follow the same process as when updating
    	 * an identity's configuration as you do when updating a distribution's configuration. For more
    	 * information, go to Updating a Distribution's Configuration in the Amazon CloudFront Developer Guide.
    	 *
    	 * When attempting to change configuration items that are not allowed to be updated, Amazon CloudFront
    	 * returns an IllegalUpdate error.
    	 *
    	 * @param string $identity_id (Required) An Identity ID for an existing OAI.
    	 * @param string $xml (Required) The configuration XML generated by .
    	 * @param string $etag (Required) The ETag header value retrieved from a call to .
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. * @link http://docs.amazonwebservices.com/AmazonCloudFront/latest/APIReference/PutOAIConfig.html PUT Origin Access Identity Config */
    	/*%******************************************************************************************%*/
    
    	/**
    	 * Creates a new invalidation request.
    	 *
    	 * @param string $distribution_id (Required) The distribution ID returned from  or .
    	 * @param string $caller_reference (Required) A unique identifier for the request. A timestamp-appended string is recommended.
    	 * @param string|array $paths (Required) One or more paths to set for invalidation. Pass a string for a single value, or an indexed array for multiple values. values.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. * @link http://docs.amazonwebservices.com/AmazonCloudFront/latest/APIReference/CreateInvalidation.html POST Invalidation */
    	/**
    	 * Gets a list of invalidations. By default, the list is returned as one result. If needed, paginate the
    	 * list by specifying values for the MaxItems and Marker parameters.
    	 *
    	 * @param string $distribution_id (Required) The distribution ID returned from  or .
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • Marker - string - Optional - Use this when paginating results to indicate where in the list of invalidations to begin. The results include invalidations in the list that occur after the marker. To get the next page of results, set the Marker parameter to the value of the NextMarker parameter from the current page's response, which is also the ID of the last invalidation on that page.
    • *
    • MaxItems - integer - Optional - The maximum number of invalidations you want in the response body. A maximum value of 100 can be used.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. * @link http://docs.amazonwebservices.com/AmazonCloudFront/latest/APIReference/ListInvalidation.html GET Invalidation List */
    	/**
    	 * Gets information about an invalidation.
    	 *
    	 * @param string $distribution_id (Required) The distribution ID returned from  or .
    	 * @param string $invalidation_id (Required) The invalidation ID returned from  or .
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. * @link http://docs.amazonwebservices.com/AmazonCloudFront/latest/APIReference/GetInvalidation.html GET Invalidation */
    	/*%******************************************************************************************%*/
    
    	/**
    	 * Gets a simplified list of standard distribution IDs.
    	 *
    	 * @param string $pcre (Optional) A Perl-Compatible Regular Expression (PCRE) to filter the distribution caller references against.
    	 * @return array A list of standard distribution IDs.
    	 */
    
    	/**
    	 * Gets a simplified list of streaming distribution IDs.
    	 *
    	 * @param string $pcre (Optional) A Perl-Compatible Regular Expression (PCRE) to filter the distribution caller references against.
    	 * @return array A list of streaming distribution IDs.
    	 */
    
    	/**
    	 * Gets a simplified list of origin access identity (OAI) IDs.
    	 *
    	 * @param string $pcre (Optional) A Perl-Compatible Regular Expression (PCRE) to filter the OAI caller references against.
    	 * @return array A list of OAI IDs.
    	 */
    
    	/*%******************************************************************************************%*/
    
    	/**
    	 * Generates a time-limited and/or query signed request for a private file with additional optional
    	 * restrictions.
    	 *
    	 * @param string $distribution_hostname (Required) The hostname of the distribution. Obtained from  or .
    	 * @param string $filename (Required) The file name of the object. Query parameters can be included. You can use multicharacter match wild cards () or a single-character match wild card (?) anywhere in the string.
    	 * @param integer|string $expires (Required) The expiration time expressed either as a number of seconds since UNIX Epoch, or any string that  can understand.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • BecomeAvailable - integer|string - Optional - The time when the private URL becomes active. Can be expressed either as a number of seconds since UNIX Epoch, or any string that strtotime() can understand.
    • *
    • IPAddress - string - Optional - A single IP address to restrict the access to.
    • *
    • Secure - boolean - Optional - Whether or not to use HTTPS as the protocol scheme. A value of true uses https. A value of false uses http. The default value is false.
    * @return string The file URL with authentication parameters. * @link http://docs.amazonwebservices.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html Serving Private Content */

    File: /destinations/_s3lib/aws-sdk/services/cloudsearch.class.php

    /*
     * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
     *
     * Licensed under the Apache License, Version 2.0 (the "License").
     * You may not use this file except in compliance with the License.
     * A copy of the License is located at
     *
     *  http://aws.amazon.com/apache2.0
     *
     * or in the "license" file accompanying this file. This file is distributed
     * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
     * express or implied. See the License for the specific language governing
     * permissions and limitations under the License.
     */
    
    /**
     * You use the Configuration Service to create, configure, and manage search domains. Amazon
     * CloudSearch configuration requests are submitted to
     * cloudsearch.us-east-1.amazonaws.com using the AWS Query protocol.
     *
     * @version 2013.01.14
     * @license See the included NOTICE.md file for complete information.
     * @copyright See the included NOTICE.md file for complete information.
     * @link http://aws.amazon.com/cloudsearch/ Amazon CloudSearch
     * @link http://aws.amazon.com/cloudsearch/documentation/ Amazon CloudSearch documentation
     */
    
    	/*%******************************************************************************************%*/
    
    	/**
    	 * Specify the queue URL for the United States East (Northern Virginia) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the United States East (Northern Virginia) Region.
    	 */
    
    	/**
    	 * Default service endpoint.
    	 */
    
    	/*%******************************************************************************************%*/
    
    	/**
    	 * Constructs a new instance of .
    	 *
    	 * @param array $options (Optional) An associative array of parameters that can have the following keys: 
      *
    • certificate_authority - boolean - Optional - Determines which Cerificate Authority file to use. A value of boolean false will use the Certificate Authority file available on the system. A value of boolean true will use the Certificate Authority provided by the SDK. Passing a file system path to a Certificate Authority file (chmodded to 0755) will use that. Leave this set to false if you're not sure.
    • *
    • credentials - string - Optional - The name of the credential set to use for authentication.
    • *
    • default_cache_config - string - Optional - This option allows a preferred storage type to be configured for long-term caching. This can be changed later using the method. Valid values are: apc, xcache, or a file system path such as ./cache or /tmp/cache/.
    • *
    • key - string - Optional - Your AWS key, or a session key. If blank, the default credential set will be used.
    • *
    • secret - string - Optional - Your AWS secret key, or a session secret key. If blank, the default credential set will be used.
    • *
    • token - string - Optional - An AWS session token.
    * @return void */
    	/*%******************************************************************************************%*/
    
    	/**
    	 * This allows you to explicitly sets the region for the service to use.
    	 *
    	 * @param string $region (Required) The region to explicitly set. Available options are .
    	 * @return $this A reference to the current instance.
    	 */
    
    	/*%******************************************************************************************%*/
    
    	/**
    	 * Creates a new search domain.
    	 *
    	 * @param string $domain_name (Required) A string that represents the name of a domain. Domain names must be unique across the domains owned by an account within an AWS region. Domain names must start with a letter or number and can contain the following characters: a-z (lowercase), 0-9, and - (hyphen). Uppercase letters and underscores are not allowed. [Constraints: The value must be between 3 and 28 characters, and must match the following regular expression pattern: [a-z][a-z0-9\-]+]
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Configures an IndexField for the search domain. Used to create new fields and
    	 * modify existing ones. If the field exists, the new configuration replaces the old one. You can
    	 * configure a maximum of 200 index fields.
    	 *
    	 * @param string $domain_name (Required) A string that represents the name of a domain. Domain names must be unique across the domains owned by an account within an AWS region. Domain names must start with a letter or number and can contain the following characters: a-z (lowercase), 0-9, and - (hyphen). Uppercase letters and underscores are not allowed. [Constraints: The value must be between 3 and 28 characters, and must match the following regular expression pattern: [a-z][a-z0-9\-]+]
    	 * @param array $index_field (Required) Defines a field in the index, including its name, type, and the source of its data. The IndexFieldType indicates which of the options will be present. It is invalid to specify options for a type other than the IndexFieldType. 
      *
    • x - array - Optional - This represents a simple array index.
        *
      • IndexFieldName - string - Required - The name of a field in the search index. Field names must begin with a letter and can contain the following characters: a-z (lowercase), 0-9, and _ (underscore). Uppercase letters and hyphens are not allowed. The names "body", "docid", and "text_relevance" are reserved and cannot be specified as field or rank expression names. [Constraints: The value must be between 1 and 64 characters, and must match the following regular expression pattern: [a-z][a-z0-9_]*]
      • *
      • IndexFieldType - string - Required - The type of field. Based on this type, exactly one of the UIntOptions, LiteralOptions or TextOptions must be present. [Allowed values: uint, literal, text]
      • *
      • UIntOptions - array - Optional - Options for an unsigned integer field. Present if IndexFieldType specifies the field is of type unsigned integer.
          *
        • x - array - Optional - This represents a simple array index.
            *
          • DefaultValue - integer - Optional - The default value for an unsigned integer field.
          • *
        • *
      • *
      • LiteralOptions - array - Optional - Options for literal field. Present if IndexFieldType specifies the field is of type literal.
          *
        • x - array - Optional - This represents a simple array index.
            *
          • DefaultValue - string - Optional - The default value for a literal field.
          • *
          • SearchEnabled - boolean - Optional - Specifies whether search is enabled for this field.
          • *
          • FacetEnabled - boolean - Optional - Specifies whether facets are enabled for this field.
          • *
          • ResultEnabled - boolean - Optional - Specifies whether values of this field can be returned in search results and used for ranking.
          • *
        • *
      • *
      • TextOptions - array - Optional - Options for text field. Present if IndexFieldType specifies the field is of type text.
          *
        • x - array - Optional - This represents a simple array index.
            *
          • DefaultValue - string - Optional - The default value for a text field.
          • *
          • FacetEnabled - boolean - Optional - Specifies whether facets are enabled for this field.
          • *
          • ResultEnabled - boolean - Optional - Specifies whether values of this field can be returned in search results and used for ranking.
          • *
        • *
      • *
      • SourceAttributes - array - Optional - An optional list of source attributes that provide data for this index field. If not specified, the data is pulled from a source attribute with the same name as this IndexField. When one or more source attributes are specified, an optional data transformation can be applied to the source data when populating the index field. You can configure a maximum of 20 sources for an IndexField.
          *
        • x - array - Optional - This represents a simple array index.
            *
          • SourceDataFunction - string - Required - Identifies the transformation to apply when copying data from a source attribute. [Allowed values: Copy, TrimTitle, Map]
          • *
          • SourceDataCopy - array - Optional - Copies data from a source document attribute to an IndexField.
              *
            • x - array - Optional - This represents a simple array index.
                *
              • SourceName - string - Required - The name of the document source field to add to this IndexField. [Constraints: The value must be between 1 and 64 characters, and must match the following regular expression pattern: [a-z][a-z0-9_]*]
              • *
              • DefaultValue - string - Optional - The value of a field or source document attribute.
              • *
            • *
          • *
          • SourceDataTrimTitle - array - Optional - Trims common title words from a source document attribute when populating an IndexField. This can be used to create an IndexField you can use for sorting.
              *
            • x - array - Optional - This represents a simple array index.
                *
              • SourceName - string - Required - The name of the document source field to add to this IndexField. [Constraints: The value must be between 1 and 64 characters, and must match the following regular expression pattern: [a-z][a-z0-9_]*]
              • *
              • DefaultValue - string - Optional - The value of a field or source document attribute.
              • *
              • Separator - string - Optional - The separator that follows the text to trim.
              • *
              • Language - string - Optional - An IETF RFC 4646 language code. Only the primary language is considered. English (en) is currently the only supported language. [Constraints: The value must match the following regular expression pattern: [a-zA-Z]{2,8}(?:-[a-zA-Z]{2,8})*]
              • *
            • *
          • *
          • SourceDataMap - array - Optional - Maps source document attribute values to new values when populating the IndexField.
              *
            • x - array - Optional - This represents a simple array index.
                *
              • SourceName - string - Required - The name of the document source field to add to this IndexField. [Constraints: The value must be between 1 and 64 characters, and must match the following regular expression pattern: [a-z][a-z0-9_]*]
              • *
              • DefaultValue - string - Optional - The value of a field or source document attribute.
              • *
              • Cases - array - Optional - A map that translates source field values to custom values.
                  *
                • x - array - Optional - This represents a simple array index.
                    *
                  • [custom-key] - string - Optional - The value of a field or source document attribute.
                  • *
                • *
              • *
            • *
          • *
        • *
      • *
    • *
    * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Configures a RankExpression for the search domain. Used to create new rank
    	 * expressions and modify existing ones. If the expression exists, the new configuration replaces
    	 * the old one. You can configure a maximum of 50 rank expressions.
    	 *
    	 * @param string $domain_name (Required) A string that represents the name of a domain. Domain names must be unique across the domains owned by an account within an AWS region. Domain names must start with a letter or number and can contain the following characters: a-z (lowercase), 0-9, and - (hyphen). Uppercase letters and underscores are not allowed. [Constraints: The value must be between 3 and 28 characters, and must match the following regular expression pattern: [a-z][a-z0-9\-]+]
    	 * @param array $rank_expression (Required) A named expression that can be evaluated at search time and used for ranking or thresholding in a search query. 
      *
    • x - array - Optional - This represents a simple array index.
        *
      • RankName - string - Required - The name of a rank expression. Rank expression names must begin with a letter and can contain the following characters: a-z (lowercase), 0-9, and _ (underscore). Uppercase letters and hyphens are not allowed. The names "body", "docid", and "text_relevance" are reserved and cannot be specified as field or rank expression names. [Constraints: The value must be between 1 and 64 characters, and must match the following regular expression pattern: [a-z][a-z0-9_]*]
      • *
      • RankExpression - string - Required - The expression to evaluate for ranking or thresholding while processing a search request. The RankExpression syntax is based on JavaScript expressions and supports:
        • Integer, floating point, hex and octal literals
        • Shortcut evaluation of logical operators such that an expression a || b evaluates to the value a if a is true without evaluting b at all
        • JavaScript order of precendence for operators
        • Arithmetic operators: + - * / %
        • Boolean operators (including the ternary operator)
        • Bitwise operators
        • Comparison operators
        • Common mathematic functions: abs ceil erf exp floor lgamma ln log2 log10 max min sqrt pow
        • Trigonometric library functions: acosh acos asinh asin atanh atan cosh cos sinh sin tanh tan
        • Random generation of a number between 0 and 1: rand
        • Current time in epoch: time
        • The min max functions that operate on a variable argument list
        Intermediate results are calculated as double precision floating point values. The final return value of a RankExpression is automatically converted from floating point to a 32-bit unsigned integer by rounding to the nearest integer, with a natural floor of 0 and a ceiling of max(uint32_t), 4294967295. Mathematical errors such as dividing by 0 will fail during evaluation and return a value of 0. The source data for a RankExpression can be the name of an IndexField of type uint, another RankExpression or the reserved name text_relevance. The text_relevance source is defined to return an integer from 0 to 1000 (inclusive) to indicate how relevant a document is to the search request, taking into account repetition of search terms in the document and proximity of search terms to each other in each matching IndexField in the document. For more information about using rank expressions to customize ranking, see the Amazon CloudSearch Developer Guide.
      • *
    • *
    * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Permanently deletes a search domain and all of its data.
    	 *
    	 * @param string $domain_name (Required) A string that represents the name of a domain. Domain names must be unique across the domains owned by an account within an AWS region. Domain names must start with a letter or number and can contain the following characters: a-z (lowercase), 0-9, and - (hyphen). Uppercase letters and underscores are not allowed. [Constraints: The value must be between 3 and 28 characters, and must match the following regular expression pattern: [a-z][a-z0-9\-]+]
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Removes an IndexField from the search domain.
    	 *
    	 * @param string $domain_name (Required) A string that represents the name of a domain. Domain names must be unique across the domains owned by an account within an AWS region. Domain names must start with a letter or number and can contain the following characters: a-z (lowercase), 0-9, and - (hyphen). Uppercase letters and underscores are not allowed. [Constraints: The value must be between 3 and 28 characters, and must match the following regular expression pattern: [a-z][a-z0-9\-]+]
    	 * @param string $index_field_name (Required) A string that represents the name of an index field. Field names must begin with a letter and can contain the following characters: a-z (lowercase), 0-9, and _ (underscore). Uppercase letters and hyphens are not allowed. The names "body", "docid", and "text_relevance" are reserved and cannot be specified as field or rank expression names. [Constraints: The value must be between 1 and 64 characters, and must match the following regular expression pattern: [a-z][a-z0-9_]*]
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Removes a RankExpression from the search domain.
    	 *
    	 * @param string $domain_name (Required) A string that represents the name of a domain. Domain names must be unique across the domains owned by an account within an AWS region. Domain names must start with a letter or number and can contain the following characters: a-z (lowercase), 0-9, and - (hyphen). Uppercase letters and underscores are not allowed. [Constraints: The value must be between 3 and 28 characters, and must match the following regular expression pattern: [a-z][a-z0-9\-]+]
    	 * @param string $rank_name (Required) The name of the RankExpression to delete. [Constraints: The value must be between 1 and 64 characters, and must match the following regular expression pattern: [a-z][a-z0-9_]*]
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Gets the default search field configured for the search domain.
    	 *
    	 * @param string $domain_name (Required) A string that represents the name of a domain. Domain names must be unique across the domains owned by an account within an AWS region. Domain names must start with a letter or number and can contain the following characters: a-z (lowercase), 0-9, and - (hyphen). Uppercase letters and underscores are not allowed. [Constraints: The value must be between 3 and 28 characters, and must match the following regular expression pattern: [a-z][a-z0-9\-]+]
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Gets information about the search domains owned by this account. Can be limited to specific
    	 * domains. Shows all domains by default.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • DomainNames - string|array - Optional - Limits the DescribeDomains response to the specified search domains. Pass a string for a single value, or an indexed array for multiple values.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Gets information about the index fields configured for the search domain. Can be limited to
    	 * specific fields by name. Shows all fields by default.
    	 *
    	 * @param string $domain_name (Required) A string that represents the name of a domain. Domain names must be unique across the domains owned by an account within an AWS region. Domain names must start with a letter or number and can contain the following characters: a-z (lowercase), 0-9, and - (hyphen). Uppercase letters and underscores are not allowed. [Constraints: The value must be between 3 and 28 characters, and must match the following regular expression pattern: [a-z][a-z0-9\-]+]
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • FieldNames - string|array - Optional - Limits the DescribeIndexFields response to the specified fields. Pass a string for a single value, or an indexed array for multiple values.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Gets the rank expressions configured for the search domain. Can be limited to specific rank
    	 * expressions by name. Shows all rank expressions by default.
    	 *
    	 * @param string $domain_name (Required) A string that represents the name of a domain. Domain names must be unique across the domains owned by an account within an AWS region. Domain names must start with a letter or number and can contain the following characters: a-z (lowercase), 0-9, and - (hyphen). Uppercase letters and underscores are not allowed. [Constraints: The value must be between 3 and 28 characters, and must match the following regular expression pattern: [a-z][a-z0-9\-]+]
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • RankNames - string|array - Optional - Limits the DescribeRankExpressions response to the specified fields. Pass a string for a single value, or an indexed array for multiple values.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Gets information about the resource-based policies that control access to the domain's document
    	 * and search services.
    	 *
    	 * @param string $domain_name (Required) A string that represents the name of a domain. Domain names must be unique across the domains owned by an account within an AWS region. Domain names must start with a letter or number and can contain the following characters: a-z (lowercase), 0-9, and - (hyphen). Uppercase letters and underscores are not allowed. [Constraints: The value must be between 3 and 28 characters, and must match the following regular expression pattern: [a-z][a-z0-9\-]+]
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Gets the stemming dictionary configured for the search domain.
    	 *
    	 * @param string $domain_name (Required) A string that represents the name of a domain. Domain names must be unique across the domains owned by an account within an AWS region. Domain names must start with a letter or number and can contain the following characters: a-z (lowercase), 0-9, and - (hyphen). Uppercase letters and underscores are not allowed. [Constraints: The value must be between 3 and 28 characters, and must match the following regular expression pattern: [a-z][a-z0-9\-]+]
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Gets the stopwords configured for the search domain.
    	 *
    	 * @param string $domain_name (Required) A string that represents the name of a domain. Domain names must be unique across the domains owned by an account within an AWS region. Domain names must start with a letter or number and can contain the following characters: a-z (lowercase), 0-9, and - (hyphen). Uppercase letters and underscores are not allowed. [Constraints: The value must be between 3 and 28 characters, and must match the following regular expression pattern: [a-z][a-z0-9\-]+]
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Gets the synonym dictionary configured for the search domain.
    	 *
    	 * @param string $domain_name (Required) A string that represents the name of a domain. Domain names must be unique across the domains owned by an account within an AWS region. Domain names must start with a letter or number and can contain the following characters: a-z (lowercase), 0-9, and - (hyphen). Uppercase letters and underscores are not allowed. [Constraints: The value must be between 3 and 28 characters, and must match the following regular expression pattern: [a-z][a-z0-9\-]+]
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Tells the search domain to start indexing its documents using the latest text processing
    	 * options and IndexFields. This operation must be invoked to make options whose
    	 * OptionStatus has OptionState of RequiresIndexDocuments
    	 * visible in search results.
    	 *
    	 * @param string $domain_name (Required) A string that represents the name of a domain. Domain names must be unique across the domains owned by an account within an AWS region. Domain names must start with a letter or number and can contain the following characters: a-z (lowercase), 0-9, and - (hyphen). Uppercase letters and underscores are not allowed. [Constraints: The value must be between 3 and 28 characters, and must match the following regular expression pattern: [a-z][a-z0-9\-]+]
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Configures the default search field for the search domain. The default search field is used
    	 * when a search request does not specify which fields to search. By default, it is configured to
    	 * include the contents of all of the domain's text fields.
    	 *
    	 * @param string $domain_name (Required) A string that represents the name of a domain. Domain names must be unique across the domains owned by an account within an AWS region. Domain names must start with a letter or number and can contain the following characters: a-z (lowercase), 0-9, and - (hyphen). Uppercase letters and underscores are not allowed. [Constraints: The value must be between 3 and 28 characters, and must match the following regular expression pattern: [a-z][a-z0-9\-]+]
    	 * @param string $default_search_field (Required) The IndexField to use for search requests issued with the q parameter. The default is an empty string, which automatically searches all text fields.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Configures the policies that control access to the domain's document and search services. The
    	 * maximum size of an access policy document is 100KB.
    	 *
    	 * @param string $domain_name (Required) A string that represents the name of a domain. Domain names must be unique across the domains owned by an account within an AWS region. Domain names must start with a letter or number and can contain the following characters: a-z (lowercase), 0-9, and - (hyphen). Uppercase letters and underscores are not allowed. [Constraints: The value must be between 3 and 28 characters, and must match the following regular expression pattern: [a-z][a-z0-9\-]+]
    	 * @param string $access_policies (Required) An IAM access policy as described in The Access Policy Language in Using AWS Identity and Access Management. The maximum size of an access policy document is 100KB. Example: {"Statement": [{"Effect":"Allow", "Action": "*", "Resource": "arn:aws:cs:us-east-1:1234567890:search/movies", "Condition": { "IpAddress": { aws:SourceIp": ["203.0.113.1/32"] } }}, {"Effect":"Allow", "Action": "*", "Resource": "arn:aws:cs:us-east-1:1234567890:documents/movies", "Condition": { "IpAddress": { aws:SourceIp": ["203.0.113.1/32"] } }} ]}
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Configures a stemming dictionary for the search domain. The stemming dictionary is used during
    	 * indexing and when processing search requests. The maximum size of the stemming dictionary is
    	 * 500KB.
    	 *
    	 * @param string $domain_name (Required) A string that represents the name of a domain. Domain names must be unique across the domains owned by an account within an AWS region. Domain names must start with a letter or number and can contain the following characters: a-z (lowercase), 0-9, and - (hyphen). Uppercase letters and underscores are not allowed. [Constraints: The value must be between 3 and 28 characters, and must match the following regular expression pattern: [a-z][a-z0-9\-]+]
    	 * @param string $stems (Required) Maps terms to their stems, serialized as a JSON document. The document has a single object with one property "stems" whose value is an object mapping terms to their stems. The maximum size of a stemming document is 500KB. Example: { "stems": {"people": "person", "walking": "walk"} }
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Configures stopwords for the search domain. Stopwords are used during indexing and when
    	 * processing search requests. The maximum size of the stopwords dictionary is 10KB.
    	 *
    	 * @param string $domain_name (Required) A string that represents the name of a domain. Domain names must be unique across the domains owned by an account within an AWS region. Domain names must start with a letter or number and can contain the following characters: a-z (lowercase), 0-9, and - (hyphen). Uppercase letters and underscores are not allowed. [Constraints: The value must be between 3 and 28 characters, and must match the following regular expression pattern: [a-z][a-z0-9\-]+]
    	 * @param string $stopwords (Required) Lists stopwords serialized as a JSON document. The document has a single object with one property "stopwords" whose value is an array of strings. The maximum size of a stopwords document is 10KB. Example: { "stopwords": ["a", "an", "the", "of"] }
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Configures a synonym dictionary for the search domain. The synonym dictionary is used during
    	 * indexing to configure mappings for terms that occur in text fields. The maximum size of the
    	 * synonym dictionary is 100KB.
    	 *
    	 * @param string $domain_name (Required) A string that represents the name of a domain. Domain names must be unique across the domains owned by an account within an AWS region. Domain names must start with a letter or number and can contain the following characters: a-z (lowercase), 0-9, and - (hyphen). Uppercase letters and underscores are not allowed. [Constraints: The value must be between 3 and 28 characters, and must match the following regular expression pattern: [a-z][a-z0-9\-]+]
    	 * @param string $synonyms (Required) Maps terms to their synonyms, serialized as a JSON document. The document has a single object with one property "synonyms" whose value is an object mapping terms to their synonyms. Each synonym is a simple string or an array of strings. The maximum size of a stopwords document is 100KB. Example: { "synonyms": {"cat": ["feline", "kitten"], "puppy": "dog"} }
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    /*%******************************************************************************************%*/
    

    Class: CloudSearch_Exception extends Exception {


    File: /destinations/_s3lib/aws-sdk/services/cloudwatch.class.php

    /*
     * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
     *
     * Licensed under the Apache License, Version 2.0 (the "License").
     * You may not use this file except in compliance with the License.
     * A copy of the License is located at
     *
     *  http://aws.amazon.com/apache2.0
     *
     * or in the "license" file accompanying this file. This file is distributed
     * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
     * express or implied. See the License for the specific language governing
     * permissions and limitations under the License.
     */
    
    /**
     * This is the Amazon CloudWatch API Reference. This guide provides detailed information
     * about Amazon CloudWatch actions, data types, parameters, and errors. For detailed information
     * about Amazon CloudWatch features and their associated API calls, go to the Amazon CloudWatch
     * Developer Guide.
     *  
     * Amazon CloudWatch is a web service that enables you to publish, monitor, and manage various
     * metrics, as well as configure alarm actions based on data from metrics. For more information
     * about this product go to http://aws.amazon.com/cloudwatch.
     *  
     * Use the following links to get started using the Amazon CloudWatch API Reference:
     * 
     * 
     *
     * @version 2013.01.14
     * @license See the included NOTICE.md file for complete information.
     * @copyright See the included NOTICE.md file for complete information.
     * @link http://aws.amazon.com/cloudwatch/ Amazon CloudWatch
     * @link http://aws.amazon.com/cloudwatch/documentation/ Amazon CloudWatch documentation
     */
    
    	/*%******************************************************************************************%*/
    
    	/**
    	 * Specify the queue URL for the United States East (Northern Virginia) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the United States East (Northern Virginia) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the United States West (Northern California) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the United States West (Northern California) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the United States West (Oregon) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the United States West (Oregon) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the Europe West (Ireland) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the Europe West (Ireland) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the Asia Pacific Southeast (Singapore) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the Asia Pacific Southeast (Singapore) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the Asia Pacific Southeast (Singapore) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the Asia Pacific Southeast (Singapore) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the Asia Pacific Northeast (Tokyo) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the Asia Pacific Northeast (Tokyo) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the United States GovCloud Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the South America (Sao Paulo) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the South America (Sao Paulo) Region.
    	 */
    
    	/**
    	 * Default service endpoint.
    	 */
    
    	/*%******************************************************************************************%*/
    
    	/**
    	 * Constructs a new instance of .
    	 *
    	 * @param array $options (Optional) An associative array of parameters that can have the following keys: 
      *
    • certificate_authority - boolean - Optional - Determines which Cerificate Authority file to use. A value of boolean false will use the Certificate Authority file available on the system. A value of boolean true will use the Certificate Authority provided by the SDK. Passing a file system path to a Certificate Authority file (chmodded to 0755) will use that. Leave this set to false if you're not sure.
    • *
    • credentials - string - Optional - The name of the credential set to use for authentication.
    • *
    • default_cache_config - string - Optional - This option allows a preferred storage type to be configured for long-term caching. This can be changed later using the method. Valid values are: apc, xcache, or a file system path such as ./cache or /tmp/cache/.
    • *
    • key - string - Optional - Your AWS key, or a session key. If blank, the default credential set will be used.
    • *
    • secret - string - Optional - Your AWS secret key, or a session secret key. If blank, the default credential set will be used.
    • *
    • token - string - Optional - An AWS session token.
    * @return void */
    	/*%******************************************************************************************%*/
    
    	/**
    	 * This allows you to explicitly sets the region for the service to use.
    	 *
    	 * @param string $region (Required) The region to explicitly set. Available options are , , , , , , , , .
    	 * @return $this A reference to the current instance.
    	 */
    
    	/*%******************************************************************************************%*/
    
    	/**
    	 * Deletes all specified alarms. In the event of an error, no alarms are deleted.
    	 *
    	 * @param string|array $alarm_names (Required) A list of alarms to be deleted. Pass a string for a single value, or an indexed array for multiple values.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Retrieves history for the specified alarm. Filter alarms by date range or item type. If an
    	 * alarm name is not specified, Amazon CloudWatch returns histories for all of the owner's alarms.
    	 * 
    	 * 

    * Amazon CloudWatch retains the history of an alarm for two weeks, whether or not you delete the * alarm. *

    * * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • AlarmName - string - Optional - The name of the alarm.
    • *
    • HistoryItemType - string - Optional - The type of alarm histories to retrieve. [Allowed values: ConfigurationUpdate, StateUpdate, Action]
    • *
    • StartDate - string - Optional - The starting date to retrieve alarm history. May be passed as a number of seconds since UNIX Epoch, or any string compatible with .
    • *
    • EndDate - string - Optional - The ending date to retrieve alarm history. May be passed as a number of seconds since UNIX Epoch, or any string compatible with .
    • *
    • MaxRecords - integer - Optional - The maximum number of alarm history records to retrieve.
    • *
    • NextToken - string - Optional - The token returned by a previous call to indicate that there is more data available.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Retrieves alarms with the specified names. If no name is specified, all alarms for the user are
    	 * returned. Alarms can be retrieved by using only a prefix for the alarm name, the alarm state,
    	 * or a prefix for any action.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • AlarmNames - string|array - Optional - A list of alarm names to retrieve information for. Pass a string for a single value, or an indexed array for multiple values.
    • *
    • AlarmNamePrefix - string - Optional - The alarm name prefix. AlarmNames cannot be specified if this parameter is specified.
    • *
    • StateValue - string - Optional - The state value to be used in matching alarms. [Allowed values: OK, ALARM, INSUFFICIENT_DATA]
    • *
    • ActionPrefix - string - Optional - The action name prefix.
    • *
    • MaxRecords - integer - Optional - The maximum number of alarm descriptions to retrieve.
    • *
    • NextToken - string - Optional - The token returned by a previous call to indicate that there is more data available.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Retrieves all alarms for a single metric. Specify a statistic, period, or unit to filter the
    	 * set of alarms further.
    	 *
    	 * @param string $metric_name (Required) The name of the metric.
    	 * @param string $namespace (Required) The namespace of the metric. [Constraints: The value must be between 1 and 255 characters, and must match the following regular expression pattern: [^:].*]
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • Statistic - string - Optional - The statistic for the metric. [Allowed values: SampleCount, Average, Sum, Minimum, Maximum]
    • *
    • Dimensions - array - Optional - The list of dimensions associated with the metric.
        *
      • x - array - Optional - This represents a simple array index.
          *
        • Name - string - Required - The name of the dimension.
        • *
        • Value - string - Required - The value representing the dimension measurement
        • *
      • *
    • *
    • Period - integer - Optional - The period in seconds over which the statistic is applied.
    • *
    • Unit - string - Optional - The unit for the metric. [Allowed values: Seconds, Microseconds, Milliseconds, Bytes, Kilobytes, Megabytes, Gigabytes, Terabytes, Bits, Kilobits, Megabits, Gigabits, Terabits, Percent, Count, Bytes/Second, Kilobytes/Second, Megabytes/Second, Gigabytes/Second, Terabytes/Second, Bits/Second, Kilobits/Second, Megabits/Second, Gigabits/Second, Terabits/Second, Count/Second, None]
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Disables actions for the specified alarms. When an alarm's actions are disabled the alarm's
    	 * state may change, but none of the alarm's actions will execute.
    	 *
    	 * @param string|array $alarm_names (Required) The names of the alarms to disable actions for. Pass a string for a single value, or an indexed array for multiple values.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Enables actions for the specified alarms.
    	 *
    	 * @param string|array $alarm_names (Required) The names of the alarms to enable actions for. Pass a string for a single value, or an indexed array for multiple values.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Gets statistics for the specified metric.
    	 * 
    	 * 

    * The maximum number of data points returned from a single GetMetricStatistics * request is 1,440. If a request is made that generates more than 1,440 data points, Amazon * CloudWatch returns an error. In such a case, alter the request by narrowing the specified time * range or increasing the specified period. Alternatively, make multiple requests across adjacent * time ranges. *

    * Amazon CloudWatch aggregates data points based on the length of the period that * you specify. For example, if you request statistics with a one-minute granularity, Amazon * CloudWatch aggregates data points with time stamps that fall within the same one-minute period. * In such a case, the data points queried can greatly outnumber the data points returned. * *

    * The maximum number of data points that can be queried is 50,850; whereas the maximum number of * data points returned is 1,440. *

    * The following examples show various statistics allowed by the data point query maximum of * 50,850 when you call GetMetricStatistics on Amazon EC2 instances with detailed * (one-minute) monitoring enabled: * *
      *
    • Statistics for up to 400 instances for a span of one hour
    • *
    • Statistics for up to 35 instances over a span of 24 hours
    • *
    • Statistics for up to 2 instances over a span of 2 weeks
    • *
    * * @param string $namespace (Required) The namespace of the metric. [Constraints: The value must be between 1 and 255 characters, and must match the following regular expression pattern: [^:].*] * @param string $metric_name (Required) The name of the metric. * @param string $start_time (Required) The time stamp to use for determining the first datapoint to return. The value specified is inclusive; results include datapoints with the time stamp specified.

    The specified start time is rounded down to the nearest value. Datapoints are returned for start times up to two weeks in the past. Specified start times that are more than two weeks in the past will not return datapoints for metrics that are older than two weeks.

    May be passed as a number of seconds since UNIX Epoch, or any string compatible with . * @param string $end_time (Required) The time stamp to use for determining the last datapoint to return. The value specified is exclusive; results will include datapoints up to the time stamp specified. May be passed as a number of seconds since UNIX Epoch, or any string compatible with . * @param integer $period (Required) The granularity, in seconds, of the returned datapoints. Period must be at least 60 seconds and must be a multiple of 60. The default value is 60. * @param string|array $statistics (Required) The metric statistics to return. Pass a string for a single value, or an indexed array for multiple values. * @param string $unit (Required) The unit for the metric. [Allowed values: Seconds, Microseconds, Milliseconds, Bytes, Kilobytes, Megabytes, Gigabytes, Terabytes, Bits, Kilobits, Megabits, Gigabits, Terabits, Percent, Count, Bytes/Second, Kilobytes/Second, Megabytes/Second, Gigabytes/Second, Terabytes/Second, Bits/Second, Kilobits/Second, Megabits/Second, Gigabits/Second, Terabits/Second, Count/Second, None] * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • Dimensions - array - Optional - A list of dimensions describing qualities of the metric.
        *
      • x - array - Optional - This represents a simple array index.
          *
        • Name - string - Required - The name of the dimension.
        • *
        • Value - string - Required - The value representing the dimension measurement
        • *
      • *
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Returns a list of valid metrics stored for the AWS account owner. Returned metrics can be used
    	 * with GetMetricStatistics to obtain statistical data for a given metric.
    	 * 
    	 * 

    * Up to 500 results are returned for any one call. To retrieve further results, use returned * NextToken values with subsequent ListMetrics operations. *

    *

    * If you create a metric with the PutMetricData action, allow up to fifteen minutes * for the metric to appear in calls to the ListMetrics action. *

    * * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • Namespace - string - Optional - The namespace to filter against. [Constraints: The value must be between 1 and 255 characters, and must match the following regular expression pattern: [^:].*]
    • *
    • MetricName - string - Optional - The name of the metric to filter against.
    • *
    • Dimensions - array - Optional - A list of dimensions to filter against.
        *
      • x - array - Optional - This represents a simple array index.
          *
        • Name - string - Required - The dimension name to be matched.
        • *
        • Value - string - Optional - The value of the dimension to be matched.

          Specifying a Name without specifying a Value returns all values associated with that Name.

        • *
      • *
    • *
    • NextToken - string - Optional - The token returned by a previous call to indicate that there is more data available.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Creates or updates an alarm and associates it with the specified Amazon CloudWatch metric.
    	 * Optionally, this operation can associate one or more Amazon Simple Notification Service
    	 * resources with the alarm.
    	 *  
    	 * When this operation creates an alarm, the alarm state is immediately set to
    	 * INSUFFICIENT_DATA. The alarm is evaluated and its StateValue is set
    	 * appropriately. Any actions associated with the StateValue is then executed.
    	 * 
    	 * 

    * When updating an existing alarm, its StateValue is left unchanged. *

    * * @param string $alarm_name (Required) The descriptive name for the alarm. This name must be unique within the user's AWS account * @param string $metric_name (Required) The name for the alarm's associated metric. * @param string $namespace (Required) The namespace for the alarm's associated metric. [Constraints: The value must be between 1 and 255 characters, and must match the following regular expression pattern: [^:].*] * @param string $statistic (Required) The statistic to apply to the alarm's associated metric. [Allowed values: SampleCount, Average, Sum, Minimum, Maximum] * @param integer $period (Required) The period in seconds over which the specified statistic is applied. * @param integer $evaluation_periods (Required) The number of periods over which data is compared to the specified threshold. * @param double $threshold (Required) The value against which the specified statistic is compared. * @param string $comparison_operator (Required) The arithmetic operation to use when comparing the specified Statistic and Threshold. The specified Statistic value is used as the first operand. [Allowed values: GreaterThanOrEqualToThreshold, GreaterThanThreshold, LessThanThreshold, LessThanOrEqualToThreshold] * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • AlarmDescription - string - Optional - The description for the alarm.
    • *
    • ActionsEnabled - boolean - Optional - Indicates whether or not actions should be executed during any changes to the alarm's state.
    • *
    • OKActions - string|array - Optional - The list of actions to execute when this alarm transitions into an OK state from any other state. Each action is specified as an Amazon Resource Number (ARN). Currently the only action supported is publishing to an Amazon SNS topic or an Amazon Auto Scaling policy. Pass a string for a single value, or an indexed array for multiple values.
    • *
    • AlarmActions - string|array - Optional - The list of actions to execute when this alarm transitions into an ALARM state from any other state. Each action is specified as an Amazon Resource Number (ARN). Currently the only action supported is publishing to an Amazon SNS topic or an Amazon Auto Scaling policy. Pass a string for a single value, or an indexed array for multiple values.
    • *
    • InsufficientDataActions - string|array - Optional - The list of actions to execute when this alarm transitions into an INSUFFICIENT_DATA state from any other state. Each action is specified as an Amazon Resource Number (ARN). Currently the only action supported is publishing to an Amazon SNS topic or an Amazon Auto Scaling policy. Pass a string for a single value, or an indexed array for multiple values.
    • *
    • Dimensions - array - Optional - The dimensions for the alarm's associated metric.
        *
      • x - array - Optional - This represents a simple array index.
          *
        • Name - string - Required - The name of the dimension.
        • *
        • Value - string - Required - The value representing the dimension measurement
        • *
      • *
    • *
    • Unit - string - Optional - The unit for the alarm's associated metric. [Allowed values: Seconds, Microseconds, Milliseconds, Bytes, Kilobytes, Megabytes, Gigabytes, Terabytes, Bits, Kilobits, Megabits, Gigabits, Terabits, Percent, Count, Bytes/Second, Kilobytes/Second, Megabytes/Second, Gigabytes/Second, Terabytes/Second, Bits/Second, Kilobits/Second, Megabits/Second, Gigabits/Second, Terabits/Second, Count/Second, None]
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Publishes metric data points to Amazon CloudWatch. Amazon Cloudwatch associates the data points
    	 * with the specified metric. If the specified metric does not exist, Amazon CloudWatch creates
    	 * the metric.
    	 * 
    	 * 

    * If you create a metric with the PutMetricData action, allow up to fifteen minutes * for the metric to appear in calls to the ListMetrics action. *

    * The size of aPutMetricDatarequest is limited to 8 KB for HTTP GET requests and 40 KB for HTTP * POST requests. * *

    * Although the Value parameter accepts numbers of type Double, Amazon * CloudWatch truncates values with very large exponents. Values with base-10 exponents greater * than 126 (1 x 10^126) are truncated. Likewise, values with base-10 exponents less than -130 (1 * x 10^-130) are also truncated. *

    * * @param string $namespace (Required) The namespace for the metric data. [Constraints: The value must be between 1 and 255 characters, and must match the following regular expression pattern: [^:].*] * @param array $metric_data (Required) A list of data describing the metric.
      *
    • x - array - Optional - This represents a simple array index.
        *
      • MetricName - string - Required - The name of the metric.
      • *
      • Dimensions - array - Optional - A list of dimensions associated with the metric.
          *
        • x - array - Optional - This represents a simple array index.
            *
          • Name - string - Required - The name of the dimension.
          • *
          • Value - string - Required - The value representing the dimension measurement
          • *
        • *
      • *
      • Timestamp - string - Optional - The time stamp used for the metric. If not specified, the default value is set to the time the metric data was received. May be passed as a number of seconds since UNIX Epoch, or any string compatible with .
      • *
      • Value - double - Optional - The value for the metric.

        Although the Value parameter accepts numbers of type Double, Amazon CloudWatch truncates values with very large exponents. Values with base-10 exponents greater than 126 (1 x 10^126) are truncated. Likewise, values with base-10 exponents less than -130 (1 x 10^-130) are also truncated.

      • *
      • StatisticValues - array - Optional - A set of statistical values describing the metric.
          *
        • x - array - Optional - This represents a simple array index.
            *
          • SampleCount - double - Required - The number of samples used for the statistic set.
          • *
          • Sum - double - Required - The sum of values for the sample set.
          • *
          • Minimum - double - Required - The minimum value of the sample set.
          • *
          • Maximum - double - Required - The maximum value of the sample set.
          • *
        • *
      • *
      • Unit - string - Optional - The unit of the metric. [Allowed values: Seconds, Microseconds, Milliseconds, Bytes, Kilobytes, Megabytes, Gigabytes, Terabytes, Bits, Kilobits, Megabits, Gigabits, Terabits, Percent, Count, Bytes/Second, Kilobytes/Second, Megabytes/Second, Gigabytes/Second, Terabytes/Second, Bits/Second, Kilobits/Second, Megabits/Second, Gigabits/Second, Terabits/Second, Count/Second, None]
      • *
    • *
    * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Temporarily sets the state of an alarm. When the updated StateValue differs from
    	 * the previous value, the action configured for the appropriate state is invoked. This is not a
    	 * permanent change. The next periodic alarm check (in about a minute) will set the alarm to its
    	 * actual state.
    	 *
    	 * @param string $alarm_name (Required) The descriptive name for the alarm. This name must be unique within the user's AWS account. The maximum length is 255 characters.
    	 * @param string $state_value (Required) The value of the state. [Allowed values: OK, ALARM, INSUFFICIENT_DATA]
    	 * @param string $state_reason (Required) The reason that this alarm is set to this specific state (in human-readable text format)
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • StateReasonData - string - Optional - The reason that this alarm is set to this specific state (in machine-readable JSON format)
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    /*%******************************************************************************************%*/
    

    Class: CloudWatch_Exception extends Exception {


    File: /destinations/_s3lib/aws-sdk/services/dynamodb.class.php

    /*
     * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
     *
     * Licensed under the Apache License, Version 2.0 (the "License").
     * You may not use this file except in compliance with the License.
     * A copy of the License is located at
     *
     *  http://aws.amazon.com/apache2.0
     *
     * or in the "license" file accompanying this file. This file is distributed
     * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
     * express or implied. See the License for the specific language governing
     * permissions and limitations under the License.
     */
    
    /**
     * Amazon DynamoDB is a fast, highly scalable, highly available, cost-effective non-relational
     * database service.
     *  
     * Amazon DynamoDB removes traditional scalability limitations on data storage while maintaining
     * low latency and predictable performance.
     *
     * @version 2013.01.14
     * @license See the included NOTICE.md file for complete information.
     * @copyright See the included NOTICE.md file for complete information.
     * @link http://aws.amazon.com/dynamodb/ Amazon DynamoDB
     * @link http://aws.amazon.com/dynamodb/documentation/ Amazon DynamoDB documentation
     */
    
    	/*%******************************************************************************************%*/
    
    	/**
    	 * Specify the queue URL for the United States East (Northern Virginia) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the United States East (Northern Virginia) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the United States West (Northern California) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the United States West (Northern California) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the United States West (Oregon) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the United States West (Oregon) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the Europe West (Ireland) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the Europe West (Ireland) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the Asia Pacific Southeast (Singapore) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the Asia Pacific Southeast (Singapore) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the Asia Pacific Southeast (Singapore) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the Asia Pacific Southeast (Singapore) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the Asia Pacific Northeast (Tokyo) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the Asia Pacific Northeast (Tokyo) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the South America (Sao Paulo) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the South America (Sao Paulo) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the United States GovCloud Region.
    	 */
    
    	/**
    	 * Default service endpoint.
    	 */
    
    	/*%******************************************************************************************%*/
    
    	/**
    	 * Action: Add
    	 */
    
    	/**
    	 * Action: Delete
    	 */
    
    	/**
    	 * Action: Put
    	 */
    
    	/*%******************************************************************************************%*/
    
    	/**
    	 * Condition operator: Equal To
    	 */
    
    	/**
    	 * Condition operator: Not Equal To
    	 */
    
    	/**
    	 * Condition operator: Less Than
    	 */
    
    	/**
    	 * Condition operator: Less Than or Equal To
    	 */
    
    	/**
    	 * Condition operator: Greater Than or Equal To
    	 */
    
    	/**
    	 * Condition operator: Greater Than or Equal To
    	 */
    
    	/**
    	 * Condition operator: Null
    	 */
    
    	/**
    	 * Condition operator: Not Null
    	 */
    
    	/**
    	 * Condition operator: Contains
    	 */
    
    	/**
    	 * Condition operator: Doesn't Contain
    	 */
    
    	/**
    	 * Condition operator: In
    	 */
    
    	/**
    	 * Condition operator: Between
    	 */
    
    	/**
    	 * Condition operator: Begins With
    	 */
    
    	/*%******************************************************************************************%*/
    
    	/**
    	 * Return value type: NONE
    	 */
    
    	/**
    	 * Return value type: ALL_OLD
    	 */
    
    	/**
    	 * Return value type: ALL_NEW
    	 */
    
    	/**
    	 * Return value type: UPDATED_OLD
    	 */
    
    	/**
    	 * Return value type: UPDATED_NEW
    	 */
    
    	/*%******************************************************************************************%*/
    
    	/**
    	 * Content type: string
    	 */
    
    	/**
    	 * Content type: number
    	 */
    
    	/**
    	 * Content type: binary
    	 */
    
    	/**
    	 * Content type: string set
    	 */
    
    	/**
    	 * Content type: number set
    	 */
    
    	/**
    	 * Content type: binary set
    	 */
    
    	/**
    	 * Content type: string set
    	 * @deprecated Please use TYPE_STRING_SET
    	 */
    
    	/**
    	 * Content type: number set
    	 * @deprecated Please use TYPE_NUMBER_SET
    	 */
    
    	/**
    	 * Content type: binary set
    	 * @deprecated Please use TYPE_BINARY_SET
    	 */
    
    	/**
    	 * The suffix used for identifying a set type
    	 */
    
    	/*%******************************************************************************************%*/
    
    	/**
    	 * Constructs a new instance of .
    	 *
    	 * @param array $options (Optional) An associative array of parameters that can have the following keys: 
      *
    • certificate_authority - boolean - Optional - Determines which Cerificate Authority file to use. A value of boolean false will use the Certificate Authority file available on the system. A value of boolean true will use the Certificate Authority provided by the SDK. Passing a file system path to a Certificate Authority file (chmodded to 0755) will use that. Leave this set to false if you're not sure.
    • *
    • credentials - string - Optional - The name of the credential set to use for authentication.
    • *
    • default_cache_config - string - Optional - This option allows a preferred storage type to be configured for long-term caching. This can be changed later using the method. Valid values are: apc, xcache, or a file system path such as ./cache or /tmp/cache/.
    • *
    • key - string - Optional - Your AWS key, or a session key. If blank, the default credential set will be used.
    • *
    • secret - string - Optional - Your AWS secret key, or a session secret key. If blank, the default credential set will be used.
    • *
    • token - string - Optional - An AWS session token.
    * @return void */
    	/*%******************************************************************************************%*/
    
    	/**
    	 * This allows you to explicitly sets the region for the service to use.
    	 *
    	 * @param string $region (Required) The region to explicitly set. Available options are , , , , , , , , .
    	 * @return $this A reference to the current instance.
    	 */
    
    	/*%******************************************************************************************%*/
    
    	/**
    	 * Registers DynamoDB as the default session handler for PHP.
    	 *
    	 * @param array $config (Optional) An array of configuration items for the session handler.
    	 * @return DynamoDBSessionHandler The session handler object.
    	 */
    
    	/**
    	 * Formats a value into the DynamoDB attribute value format (e.g. array('S' => 'value') ).
    	 *
    	 * @param mixed $value (Required) The value to be formatted.
    	 * @param string $format (Optional) The format of the result (based loosely on the type of operation)
    	 * @param string $type_override (Optional) Any valid attribute type to override the calculated type.
    	 * @return array An attribute value suitable for DynamoDB.
    	 */
    
    	/**
    	 * Formats a set of values into the DynamoDB attribute value format.
    	 *
    	 * @param array $values (Required) The values to be formatted.
    	 * @param string $format (Optional) The format of the result (based loosely on the type of operation)
    	 * @return array The formatted array.
    	 */
    
    	/**
    	 * An internal, recursive function for doing the attribute value formatting.
    	 *
    	 * @param mixed $value (Required) The value being formatted.
    	 * @param integer $depth (Optional) The current recursion level. Anything higher than one will terminate the function.
    	 * @return array An array of information about the attribute value, including it's string value and type.
    	 */
    
    	/**
    	 * A shortcut/factory-type method for indicating a DynamoDB binary type. Binary types are
    	 * like strings but get base64 encoded automatically. The DynamoDB service decodes these
    	 * values and stores them in the raw format. This allows the transfer of binary data to
    	 * DynamoDB without the extra storage costs of the base64 encoding inflation.
    	 *
    	 * @param string $value (Required) The value to be converted to a binary type
    	 * @return DynamoDB_Binary
    	 */
    
    	/**
    	 * A shortcut/factory-type method for indicating a DynamoDB binary set type.
    	 *
    	 * @param array $values (Required) The values to be converted to a binary set.
    	 * @return DynamoDB_BinarySet
    	 */
    
    	/*%******************************************************************************************%*/
    
    	/**
    	 * Retrieves the attributes for multiple items from multiple tables using their primary keys.
    	 *  
    	 * The maximum number of item attributes that can be retrieved for a single operation is 100.
    	 * Also, the number of items retrieved is constrained by a 1 MB the size limit. If the response
    	 * size limit is exceeded or a partial result is returned due to an internal processing failure,
    	 * Amazon DynamoDB returns an UnprocessedKeys value so you can retry the operation
    	 * starting with the next item to get.
    	 *  
    	 * Amazon DynamoDB automatically adjusts the number of items returned per page to enforce this
    	 * limit. For example, even if you ask to retrieve 100 items, but each individual item is 50k in
    	 * size, the system returns 20 items and an appropriate UnprocessedKeys value so you
    	 * can get the next page of results. If necessary, your application needs its own logic to
    	 * assemble the pages of results into one set.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • RequestItems - array - Required - A map of the table name and corresponding items to get by primary key. While requesting items, each table name can be invoked only once per operation.
        *
      • [custom-key] - array - Optional - This key is variable (e.g., user-specified). [Constraints: The value must be between 3 and 255 characters, and must match the following regular expression pattern: [a-zA-Z0-9_.-]+]
          *
        • Keys - array - Required - The primary key that uniquely identifies each item in a table. A primary key can be a one attribute (hash) primary key or a two attribute (hash-and-range) primary key.
            *
          • x - array - Optional - This represents a simple array index.
              *
            • HashKeyElement - array - Required - A hash key element is treated as the primary key, and can be a string or a number. Single attribute primary keys have one index value. The value can be String, Number, StringSet, NumberSet.
                *
              • S - string - Optional - Strings are Unicode with UTF-8 binary encoding. The maximum size is limited by the size of the primary key (1024 bytes as a range part of a key or 2048 bytes as a single part hash key) or the item size (64k).
              • *
              • N - string - Optional - Numbers are positive or negative exact-value decimals and integers. A number can have up to 38 digits precision and can be between 10^-128 to 10^+126.
              • *
              • B - blob - Optional - Binary attributes are sequences of unsigned bytes.
              • *
              • SS - string|array - Optional - A set of strings. Pass a string for a single value, or an indexed array for multiple values.
              • *
              • NS - string|array - Optional - A set of numbers. Pass a string for a single value, or an indexed array for multiple values.
              • *
              • BS - blob - Optional - A set of binary attributes.
              • *
            • *
            • RangeKeyElement - array - Optional - A range key element is treated as a secondary key (used in conjunction with the primary key), and can be a string or a number, and is only used for hash-and-range primary keys. The value can be String, Number, StringSet, NumberSet.
                *
              • S - string - Optional - Strings are Unicode with UTF-8 binary encoding. The maximum size is limited by the size of the primary key (1024 bytes as a range part of a key or 2048 bytes as a single part hash key) or the item size (64k).
              • *
              • N - string - Optional - Numbers are positive or negative exact-value decimals and integers. A number can have up to 38 digits precision and can be between 10^-128 to 10^+126.
              • *
              • B - blob - Optional - Binary attributes are sequences of unsigned bytes.
              • *
              • SS - string|array - Optional - A set of strings. Pass a string for a single value, or an indexed array for multiple values.
              • *
              • NS - string|array - Optional - A set of numbers. Pass a string for a single value, or an indexed array for multiple values.
              • *
              • BS - blob - Optional - A set of binary attributes.
              • *
            • *
          • *
        • *
        • AttributesToGet - string|array - Optional - List of Attribute names. If attribute names are not specified then all attributes will be returned. If some attributes are not found, they will not appear in the result. Pass a string for a single value, or an indexed array for multiple values.
        • *
        • ConsistentRead - boolean - Optional - If set to true, then a consistent read is issued. Otherwise eventually-consistent is used.
        • *
      • *
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Allows to execute a batch of Put and/or Delete Requests for many tables in a single call. A
    	 * total of 25 requests are allowed.
    	 *  
    	 * There are no transaction guarantees provided by this API. It does not allow conditional puts
    	 * nor does it support return values.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • RequestItems - array - Required - A map of table name to list-of-write-requests. Used as input to the BatchWriteItem API call
        *
      • [custom-key] - array - Optional - This key is variable (e.g., user-specified).
          *
        • x - array - Optional - This represents a simple array index.
            *
          • PutRequest - array - Optional - A container for a Put BatchWrite request
              *
            • Item - array - Required - The item to put
                *
              • [custom-key] - array - Optional - AttributeValue can be String, Number, Binary, StringSet, NumberSet, BinarySet.
                  *
                • S - string - Optional - Strings are Unicode with UTF-8 binary encoding. The maximum size is limited by the size of the primary key (1024 bytes as a range part of a key or 2048 bytes as a single part hash key) or the item size (64k).
                • *
                • N - string - Optional - Numbers are positive or negative exact-value decimals and integers. A number can have up to 38 digits precision and can be between 10^-128 to 10^+126.
                • *
                • B - blob - Optional - Binary attributes are sequences of unsigned bytes.
                • *
                • SS - string|array - Optional - A set of strings. Pass a string for a single value, or an indexed array for multiple values.
                • *
                • NS - string|array - Optional - A set of numbers. Pass a string for a single value, or an indexed array for multiple values.
                • *
                • BS - blob - Optional - A set of binary attributes.
                • *
              • *
            • *
          • *
          • DeleteRequest - array - Optional - A container for a Delete BatchWrite request
              *
            • Key - array - Required - The item's key to be delete
                *
              • HashKeyElement - array - Required - A hash key element is treated as the primary key, and can be a string or a number. Single attribute primary keys have one index value. The value can be String, Number, StringSet, NumberSet.
                  *
                • S - string - Optional - Strings are Unicode with UTF-8 binary encoding. The maximum size is limited by the size of the primary key (1024 bytes as a range part of a key or 2048 bytes as a single part hash key) or the item size (64k).
                • *
                • N - string - Optional - Numbers are positive or negative exact-value decimals and integers. A number can have up to 38 digits precision and can be between 10^-128 to 10^+126.
                • *
                • B - blob - Optional - Binary attributes are sequences of unsigned bytes.
                • *
                • SS - string|array - Optional - A set of strings. Pass a string for a single value, or an indexed array for multiple values.
                • *
                • NS - string|array - Optional - A set of numbers. Pass a string for a single value, or an indexed array for multiple values.
                • *
                • BS - blob - Optional - A set of binary attributes.
                • *
              • *
              • RangeKeyElement - array - Optional - A range key element is treated as a secondary key (used in conjunction with the primary key), and can be a string or a number, and is only used for hash-and-range primary keys. The value can be String, Number, StringSet, NumberSet.
                  *
                • S - string - Optional - Strings are Unicode with UTF-8 binary encoding. The maximum size is limited by the size of the primary key (1024 bytes as a range part of a key or 2048 bytes as a single part hash key) or the item size (64k).
                • *
                • N - string - Optional - Numbers are positive or negative exact-value decimals and integers. A number can have up to 38 digits precision and can be between 10^-128 to 10^+126.
                • *
                • B - blob - Optional - Binary attributes are sequences of unsigned bytes.
                • *
                • SS - string|array - Optional - A set of strings. Pass a string for a single value, or an indexed array for multiple values.
                • *
                • NS - string|array - Optional - A set of numbers. Pass a string for a single value, or an indexed array for multiple values.
                • *
                • BS - blob - Optional - A set of binary attributes.
                • *
              • *
            • *
          • *
        • *
      • *
      • value - array - Optional - AttributeValue can be String, Number, Binary, StringSet, NumberSet, BinarySet.
          *
        • S - string - Optional - Strings are Unicode with UTF-8 binary encoding. The maximum size is limited by the size of the primary key (1024 bytes as a range part of a key or 2048 bytes as a single part hash key) or the item size (64k).
        • *
        • N - string - Optional - Numbers are positive or negative exact-value decimals and integers. A number can have up to 38 digits precision and can be between 10^-128 to 10^+126.
        • *
        • B - blob - Optional - Binary attributes are sequences of unsigned bytes.
        • *
        • SS - string|array - Optional - A set of strings. Pass a string for a single value, or an indexed array for multiple values.
        • *
        • NS - string|array - Optional - A set of numbers. Pass a string for a single value, or an indexed array for multiple values.
        • *
        • BS - blob - Optional - A set of binary attributes.
        • *
      • *
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Adds a new table to your account.
    	 *  
    	 * The table name must be unique among those associated with the AWS Account issuing the request,
    	 * and the AWS Region that receives the request (e.g. us-east-1).
    	 *  
    	 * The CreateTable operation triggers an asynchronous workflow to begin creating the
    	 * table. Amazon DynamoDB immediately returns the state of the table (CREATING) until
    	 * the table is in the ACTIVE state. Once the table is in the ACTIVE
    	 * state, you can perform data plane operations.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • TableName - string - Required - The name of the table you want to create. Allowed characters are a-z, A-Z, 0-9, _ (underscore), - (hyphen) and . (period). [Constraints: The value must be between 3 and 255 characters, and must match the following regular expression pattern: [a-zA-Z0-9_.-]+]
    • *
    • KeySchema - array - Required - The KeySchema identifies the primary key as a one attribute primary key (hash) or a composite two attribute (hash-and-range) primary key. Single attribute primary keys have one index value: a HashKeyElement. A composite hash-and-range primary key contains two attribute values: a HashKeyElement and a RangeKeyElement.
        *
      • HashKeyElement - array - Required - A hash key element is treated as the primary key, and can be a string or a number. Single attribute primary keys have one index value. The value can be String, Number, StringSet, NumberSet.
          *
        • AttributeName - string - Required - The AttributeName of the KeySchemaElement.
        • *
        • AttributeType - string - Required - The AttributeType of the KeySchemaElement which can be a String or a Number. [Allowed values: S, N, B]
        • *
      • *
      • RangeKeyElement - array - Optional - A range key element is treated as a secondary key (used in conjunction with the primary key), and can be a string or a number, and is only used for hash-and-range primary keys. The value can be String, Number, StringSet, NumberSet.
          *
        • AttributeName - string - Required - The AttributeName of the KeySchemaElement.
        • *
        • AttributeType - string - Required - The AttributeType of the KeySchemaElement which can be a String or a Number. [Allowed values: S, N, B]
        • *
      • *
    • *
    • ProvisionedThroughput - array - Required - Provisioned throughput reserves the required read and write resources for your table in terms of ReadCapacityUnits and WriteCapacityUnits. Values for provisioned throughput depend upon your expected read/write rates, item size, and consistency. Provide the expected number of read and write operations, assuming an item size of 1k and strictly consistent reads. For 2k item size, double the value. For 3k, triple the value, etc. Eventually-consistent reads consume half the resources of strictly consistent reads.
        *
      • ReadCapacityUnits - long - Required - ReadCapacityUnits are in terms of strictly consistent reads, assuming items of 1k. 2k items require twice the ReadCapacityUnits. Eventually-consistent reads only require half the ReadCapacityUnits of stirctly consistent reads.
      • *
      • WriteCapacityUnits - long - Required - WriteCapacityUnits are in terms of strictly consistent reads, assuming items of 1k. 2k items require twice the WriteCapacityUnits.
      • *
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Deletes a single item in a table by primary key.
    	 *  
    	 * You can perform a conditional delete operation that deletes the item if it exists, or if it has
    	 * an expected attribute value.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • TableName - string - Required - The name of the table in which you want to delete an item. Allowed characters are a-z, A-Z, 0-9, _ (underscore), - (hyphen) and . (period). [Constraints: The value must be between 3 and 255 characters, and must match the following regular expression pattern: [a-zA-Z0-9_.-]+]
    • *
    • Key - array - Required - The primary key that uniquely identifies each item in a table. A primary key can be a one attribute (hash) primary key or a two attribute (hash-and-range) primary key.
        *
      • HashKeyElement - array - Required - A hash key element is treated as the primary key, and can be a string or a number. Single attribute primary keys have one index value. The value can be String, Number, StringSet, NumberSet.
          *
        • S - string - Optional - Strings are Unicode with UTF-8 binary encoding. The maximum size is limited by the size of the primary key (1024 bytes as a range part of a key or 2048 bytes as a single part hash key) or the item size (64k).
        • *
        • N - string - Optional - Numbers are positive or negative exact-value decimals and integers. A number can have up to 38 digits precision and can be between 10^-128 to 10^+126.
        • *
        • B - blob - Optional - Binary attributes are sequences of unsigned bytes.
        • *
        • SS - string|array - Optional - A set of strings. Pass a string for a single value, or an indexed array for multiple values.
        • *
        • NS - string|array - Optional - A set of numbers. Pass a string for a single value, or an indexed array for multiple values.
        • *
        • BS - blob - Optional - A set of binary attributes.
        • *
      • *
      • RangeKeyElement - array - Optional - A range key element is treated as a secondary key (used in conjunction with the primary key), and can be a string or a number, and is only used for hash-and-range primary keys. The value can be String, Number, StringSet, NumberSet.
          *
        • S - string - Optional - Strings are Unicode with UTF-8 binary encoding. The maximum size is limited by the size of the primary key (1024 bytes as a range part of a key or 2048 bytes as a single part hash key) or the item size (64k).
        • *
        • N - string - Optional - Numbers are positive or negative exact-value decimals and integers. A number can have up to 38 digits precision and can be between 10^-128 to 10^+126.
        • *
        • B - blob - Optional - Binary attributes are sequences of unsigned bytes.
        • *
        • SS - string|array - Optional - A set of strings. Pass a string for a single value, or an indexed array for multiple values.
        • *
        • NS - string|array - Optional - A set of numbers. Pass a string for a single value, or an indexed array for multiple values.
        • *
        • BS - blob - Optional - A set of binary attributes.
        • *
      • *
    • *
    • Expected - array - Optional - Designates an attribute for a conditional modification. The Expected parameter allows you to provide an attribute name, and whether or not Amazon DynamoDB should check to see if the attribute has a particular value before modifying it.
        *
      • [custom-key] - array - Optional - Allows you to provide an attribute name, and whether or not Amazon DynamoDB should check to see if the attribute value already exists; or if the attribute value exists and has a particular value before changing it.
          *
        • Value - array - Optional - Specify whether or not a value already exists and has a specific content for the attribute name-value pair.
            *
          • S - string - Optional - Strings are Unicode with UTF-8 binary encoding. The maximum size is limited by the size of the primary key (1024 bytes as a range part of a key or 2048 bytes as a single part hash key) or the item size (64k).
          • *
          • N - string - Optional - Numbers are positive or negative exact-value decimals and integers. A number can have up to 38 digits precision and can be between 10^-128 to 10^+126.
          • *
          • B - blob - Optional - Binary attributes are sequences of unsigned bytes.
          • *
          • SS - string|array - Optional - A set of strings. Pass a string for a single value, or an indexed array for multiple values.
          • *
          • NS - string|array - Optional - A set of numbers. Pass a string for a single value, or an indexed array for multiple values.
          • *
          • BS - blob - Optional - A set of binary attributes.
          • *
        • *
        • Exists - boolean - Optional - Specify whether or not a value already exists for the attribute name-value pair.
        • *
      • *
    • *
    • ReturnValues - string - Optional - Use this parameter if you want to get the attribute name-value pairs before or after they are modified. For PUT operations, the possible parameter values are NONE (default) or ALL_OLD. For update operations, the possible parameter values are NONE (default) or ALL_OLD, UPDATED_OLD, ALL_NEW or UPDATED_NEW.
      • NONE: Nothing is returned.
      • ALL_OLD: Returns the attributes of the item as they were before the operation.
      • UPDATED_OLD: Returns the values of the updated attributes, only, as they were before the operation.
      • ALL_NEW: Returns all the attributes and their new values after the operation.
      • UPDATED_NEW: Returns the values of the updated attributes, only, as they are after the operation.
      [Allowed values: NONE, ALL_OLD, UPDATED_OLD, ALL_NEW, UPDATED_NEW]
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Deletes a table and all of its items.
    	 *  
    	 * If the table is in the ACTIVE state, you can delete it. If a table is in
    	 * CREATING or UPDATING states then Amazon DynamoDB returns a
    	 * ResourceInUseException. If the specified table does not exist, Amazon DynamoDB
    	 * returns a ResourceNotFoundException.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • TableName - string - Required - The name of the table you want to delete. Allowed characters are a-z, A-Z, 0-9, _ (underscore), - (hyphen) and . (period). [Constraints: The value must be between 3 and 255 characters, and must match the following regular expression pattern: [a-zA-Z0-9_.-]+]
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Retrieves information about the table, including the current status of the table, the primary
    	 * key schema and when the table was created.
    	 *  
    	 * If the table does not exist, Amazon DynamoDB returns a ResourceNotFoundException.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • TableName - string - Required - The name of the table you want to describe. Allowed characters are a-z, A-Z, 0-9, _ (underscore), - (hyphen) and . (period). [Constraints: The value must be between 3 and 255 characters, and must match the following regular expression pattern: [a-zA-Z0-9_.-]+]
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Retrieves a set of Attributes for an item that matches the primary key.
    	 *  
    	 * The GetItem operation provides an eventually-consistent read by default. If
    	 * eventually-consistent reads are not acceptable for your application, use
    	 * ConsistentRead. Although this operation might take longer than a standard read, it
    	 * always returns the last updated value.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • TableName - string - Required - The name of the table in which you want to get an item. Allowed characters are a-z, A-Z, 0-9, _ (underscore), - (hyphen) and . (period). [Constraints: The value must be between 3 and 255 characters, and must match the following regular expression pattern: [a-zA-Z0-9_.-]+]
    • *
    • Key - array - Required - The primary key that uniquely identifies each item in a table. A primary key can be a one attribute (hash) primary key or a two attribute (hash-and-range) primary key.
        *
      • HashKeyElement - array - Required - A hash key element is treated as the primary key, and can be a string or a number. Single attribute primary keys have one index value. The value can be String, Number, StringSet, NumberSet.
          *
        • S - string - Optional - Strings are Unicode with UTF-8 binary encoding. The maximum size is limited by the size of the primary key (1024 bytes as a range part of a key or 2048 bytes as a single part hash key) or the item size (64k).
        • *
        • N - string - Optional - Numbers are positive or negative exact-value decimals and integers. A number can have up to 38 digits precision and can be between 10^-128 to 10^+126.
        • *
        • B - blob - Optional - Binary attributes are sequences of unsigned bytes.
        • *
        • SS - string|array - Optional - A set of strings. Pass a string for a single value, or an indexed array for multiple values.
        • *
        • NS - string|array - Optional - A set of numbers. Pass a string for a single value, or an indexed array for multiple values.
        • *
        • BS - blob - Optional - A set of binary attributes.
        • *
      • *
      • RangeKeyElement - array - Optional - A range key element is treated as a secondary key (used in conjunction with the primary key), and can be a string or a number, and is only used for hash-and-range primary keys. The value can be String, Number, StringSet, NumberSet.
          *
        • S - string - Optional - Strings are Unicode with UTF-8 binary encoding. The maximum size is limited by the size of the primary key (1024 bytes as a range part of a key or 2048 bytes as a single part hash key) or the item size (64k).
        • *
        • N - string - Optional - Numbers are positive or negative exact-value decimals and integers. A number can have up to 38 digits precision and can be between 10^-128 to 10^+126.
        • *
        • B - blob - Optional - Binary attributes are sequences of unsigned bytes.
        • *
        • SS - string|array - Optional - A set of strings. Pass a string for a single value, or an indexed array for multiple values.
        • *
        • NS - string|array - Optional - A set of numbers. Pass a string for a single value, or an indexed array for multiple values.
        • *
        • BS - blob - Optional - A set of binary attributes.
        • *
      • *
    • *
    • AttributesToGet - string|array - Optional - List of Attribute names. If attribute names are not specified then all attributes will be returned. If some attributes are not found, they will not appear in the result. Pass a string for a single value, or an indexed array for multiple values.
    • *
    • ConsistentRead - boolean - Optional - If set to true, then a consistent read is issued. Otherwise eventually-consistent is used.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Retrieves a paginated list of table names created by the AWS Account of the caller in the AWS
    	 * Region (e.g. us-east-1).
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • ExclusiveStartTableName - string - Optional - The name of the table that starts the list. If you already ran a ListTables operation and received a LastEvaluatedTableName value in the response, use that value here to continue the list. [Constraints: The value must be between 3 and 255 characters, and must match the following regular expression pattern: [a-zA-Z0-9_.-]+]
    • *
    • Limit - integer - Optional - A number of maximum table names to return.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Creates a new item, or replaces an old item with a new item (including all the attributes).
    	 *  
    	 * If an item already exists in the specified table with the same primary key, the new item
    	 * completely replaces the existing item. You can perform a conditional put (insert a new item if
    	 * one with the specified primary key doesn't exist), or replace an existing item if it has
    	 * certain attribute values.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • TableName - string - Required - The name of the table in which you want to put an item. Allowed characters are a-z, A-Z, 0-9, _ (underscore), - (hyphen) and . (period). [Constraints: The value must be between 3 and 255 characters, and must match the following regular expression pattern: [a-zA-Z0-9_.-]+]
    • *
    • Item - array - Required - A map of the attributes for the item, and must include the primary key values that define the item. Other attribute name-value pairs can be provided for the item.
        *
      • [custom-key] - array - Optional - AttributeValue can be String, Number, Binary, StringSet, NumberSet, BinarySet.
          *
        • S - string - Optional - Strings are Unicode with UTF-8 binary encoding. The maximum size is limited by the size of the primary key (1024 bytes as a range part of a key or 2048 bytes as a single part hash key) or the item size (64k).
        • *
        • N - string - Optional - Numbers are positive or negative exact-value decimals and integers. A number can have up to 38 digits precision and can be between 10^-128 to 10^+126.
        • *
        • B - blob - Optional - Binary attributes are sequences of unsigned bytes.
        • *
        • SS - string|array - Optional - A set of strings. Pass a string for a single value, or an indexed array for multiple values.
        • *
        • NS - string|array - Optional - A set of numbers. Pass a string for a single value, or an indexed array for multiple values.
        • *
        • BS - blob - Optional - A set of binary attributes.
        • *
      • *
    • *
    • Expected - array - Optional - Designates an attribute for a conditional modification. The Expected parameter allows you to provide an attribute name, and whether or not Amazon DynamoDB should check to see if the attribute has a particular value before modifying it.
        *
      • [custom-key] - array - Optional - Allows you to provide an attribute name, and whether or not Amazon DynamoDB should check to see if the attribute value already exists; or if the attribute value exists and has a particular value before changing it.
          *
        • Value - array - Optional - Specify whether or not a value already exists and has a specific content for the attribute name-value pair.
            *
          • S - string - Optional - Strings are Unicode with UTF-8 binary encoding. The maximum size is limited by the size of the primary key (1024 bytes as a range part of a key or 2048 bytes as a single part hash key) or the item size (64k).
          • *
          • N - string - Optional - Numbers are positive or negative exact-value decimals and integers. A number can have up to 38 digits precision and can be between 10^-128 to 10^+126.
          • *
          • B - blob - Optional - Binary attributes are sequences of unsigned bytes.
          • *
          • SS - string|array - Optional - A set of strings. Pass a string for a single value, or an indexed array for multiple values.
          • *
          • NS - string|array - Optional - A set of numbers. Pass a string for a single value, or an indexed array for multiple values.
          • *
          • BS - blob - Optional - A set of binary attributes.
          • *
        • *
        • Exists - boolean - Optional - Specify whether or not a value already exists for the attribute name-value pair.
        • *
      • *
    • *
    • ReturnValues - string - Optional - Use this parameter if you want to get the attribute name-value pairs before or after they are modified. For PUT operations, the possible parameter values are NONE (default) or ALL_OLD. For update operations, the possible parameter values are NONE (default) or ALL_OLD, UPDATED_OLD, ALL_NEW or UPDATED_NEW.
      • NONE: Nothing is returned.
      • ALL_OLD: Returns the attributes of the item as they were before the operation.
      • UPDATED_OLD: Returns the values of the updated attributes, only, as they were before the operation.
      • ALL_NEW: Returns all the attributes and their new values after the operation.
      • UPDATED_NEW: Returns the values of the updated attributes, only, as they are after the operation.
      [Allowed values: NONE, ALL_OLD, UPDATED_OLD, ALL_NEW, UPDATED_NEW]
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Gets the values of one or more items and its attributes by primary key (composite primary key,
    	 * only).
    	 *  
    	 * Narrow the scope of the query using comparison operators on the RangeKeyValue of
    	 * the composite key. Use the ScanIndexForward parameter to get results in forward or
    	 * reverse order by range key.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • TableName - string - Required - The name of the table in which you want to query. Allowed characters are a-z, A-Z, 0-9, _ (underscore), - (hyphen) and . (period). [Constraints: The value must be between 3 and 255 characters, and must match the following regular expression pattern: [a-zA-Z0-9_.-]+]
    • *
    • AttributesToGet - string|array - Optional - List of Attribute names. If attribute names are not specified then all attributes will be returned. If some attributes are not found, they will not appear in the result. Pass a string for a single value, or an indexed array for multiple values.
    • *
    • Limit - integer - Optional - The maximum number of items to return. If Amazon DynamoDB hits this limit while querying the table, it stops the query and returns the matching values up to the limit, and a LastEvaluatedKey to apply in a subsequent operation to continue the query. Also, if the result set size exceeds 1MB before Amazon DynamoDB hits this limit, it stops the query and returns the matching values, and a LastEvaluatedKey to apply in a subsequent operation to continue the query.
    • *
    • ConsistentRead - boolean - Optional - If set to true, then a consistent read is issued. Otherwise eventually-consistent is used.
    • *
    • Count - boolean - Optional - If set to true, Amazon DynamoDB returns a total number of items that match the query parameters, instead of a list of the matching items and their attributes. Do not set Count to true while providing a list of AttributesToGet, otherwise Amazon DynamoDB returns a validation error.
    • *
    • HashKeyValue - array - Required - Attribute value of the hash component of the composite primary key.
        *
      • S - string - Optional - Strings are Unicode with UTF-8 binary encoding. The maximum size is limited by the size of the primary key (1024 bytes as a range part of a key or 2048 bytes as a single part hash key) or the item size (64k).
      • *
      • N - string - Optional - Numbers are positive or negative exact-value decimals and integers. A number can have up to 38 digits precision and can be between 10^-128 to 10^+126.
      • *
      • B - blob - Optional - Binary attributes are sequences of unsigned bytes.
      • *
      • SS - string|array - Optional - A set of strings. Pass a string for a single value, or an indexed array for multiple values.
      • *
      • NS - string|array - Optional - A set of numbers. Pass a string for a single value, or an indexed array for multiple values.
      • *
      • BS - blob - Optional - A set of binary attributes.
      • *
    • *
    • RangeKeyCondition - array - Optional - A container for the attribute values and comparison operators to use for the query.
        *
      • AttributeValueList - array - Optional - A list of attribute values to be used with a comparison operator for a scan or query operation. For comparisons that require more than one value, such as a BETWEEN comparison, the AttributeValueList contains two attribute values and the comparison operator.
          *
        • x - array - Optional - This represents a simple array index.
            *
          • S - string - Optional - Strings are Unicode with UTF-8 binary encoding. The maximum size is limited by the size of the primary key (1024 bytes as a range part of a key or 2048 bytes as a single part hash key) or the item size (64k).
          • *
          • N - string - Optional - Numbers are positive or negative exact-value decimals and integers. A number can have up to 38 digits precision and can be between 10^-128 to 10^+126.
          • *
          • B - blob - Optional - Binary attributes are sequences of unsigned bytes.
          • *
          • SS - string|array - Optional - A set of strings. Pass a string for a single value, or an indexed array for multiple values.
          • *
          • NS - string|array - Optional - A set of numbers. Pass a string for a single value, or an indexed array for multiple values.
          • *
          • BS - blob - Optional - A set of binary attributes.
          • *
        • *
      • *
      • ComparisonOperator - string - Required - A comparison operator is an enumeration of several operations:
        • EQ for equal.
        • NE for not equal.
        • IN checks for exact matches.
        • LE for less than or equal to.
        • LT for less than.
        • GE for greater than or equal to.
        • GT for greater than.
        • BETWEEN for between.
        • NOT_NULL for exists.
        • NULL for not exists.
        • CONTAINS for substring or value in a set.
        • NOT_CONTAINS for absence of a substring or absence of a value in a set.
        • BEGINS_WITH for a substring prefix.
        Scan operations support all available comparison operators. Query operations support a subset of the available comparison operators: EQ, LE, LT, GE, GT, BETWEEN, and BEGINS_WITH. [Allowed values: EQ, NE, IN, LE, LT, GE, GT, BETWEEN, NOT_NULL, NULL, CONTAINS, NOT_CONTAINS, BEGINS_WITH]
      • *
    • *
    • ScanIndexForward - boolean - Optional - Specifies forward or backward traversal of the index. Amazon DynamoDB returns results reflecting the requested order, determined by the range key. The default value is true (forward).
    • *
    • ExclusiveStartKey - array - Optional - Primary key of the item from which to continue an earlier query. An earlier query might provide this value as the LastEvaluatedKey if that query operation was interrupted before completing the query; either because of the result set size or the Limit parameter. The LastEvaluatedKey can be passed back in a new query request to continue the operation from that point.
        *
      • HashKeyElement - array - Required - A hash key element is treated as the primary key, and can be a string or a number. Single attribute primary keys have one index value. The value can be String, Number, StringSet, NumberSet.
          *
        • S - string - Optional - Strings are Unicode with UTF-8 binary encoding. The maximum size is limited by the size of the primary key (1024 bytes as a range part of a key or 2048 bytes as a single part hash key) or the item size (64k).
        • *
        • N - string - Optional - Numbers are positive or negative exact-value decimals and integers. A number can have up to 38 digits precision and can be between 10^-128 to 10^+126.
        • *
        • B - blob - Optional - Binary attributes are sequences of unsigned bytes.
        • *
        • SS - string|array - Optional - A set of strings. Pass a string for a single value, or an indexed array for multiple values.
        • *
        • NS - string|array - Optional - A set of numbers. Pass a string for a single value, or an indexed array for multiple values.
        • *
        • BS - blob - Optional - A set of binary attributes.
        • *
      • *
      • RangeKeyElement - array - Optional - A range key element is treated as a secondary key (used in conjunction with the primary key), and can be a string or a number, and is only used for hash-and-range primary keys. The value can be String, Number, StringSet, NumberSet.
          *
        • S - string - Optional - Strings are Unicode with UTF-8 binary encoding. The maximum size is limited by the size of the primary key (1024 bytes as a range part of a key or 2048 bytes as a single part hash key) or the item size (64k).
        • *
        • N - string - Optional - Numbers are positive or negative exact-value decimals and integers. A number can have up to 38 digits precision and can be between 10^-128 to 10^+126.
        • *
        • B - blob - Optional - Binary attributes are sequences of unsigned bytes.
        • *
        • SS - string|array - Optional - A set of strings. Pass a string for a single value, or an indexed array for multiple values.
        • *
        • NS - string|array - Optional - A set of numbers. Pass a string for a single value, or an indexed array for multiple values.
        • *
        • BS - blob - Optional - A set of binary attributes.
        • *
      • *
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Retrieves one or more items and its attributes by performing a full scan of a table.
    	 *  
    	 * Provide a ScanFilter to get more specific results.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • TableName - string - Required - The name of the table in which you want to scan. Allowed characters are a-z, A-Z, 0-9, _ (underscore), - (hyphen) and . (period). [Constraints: The value must be between 3 and 255 characters, and must match the following regular expression pattern: [a-zA-Z0-9_.-]+]
    • *
    • AttributesToGet - string|array - Optional - List of Attribute names. If attribute names are not specified then all attributes will be returned. If some attributes are not found, they will not appear in the result. Pass a string for a single value, or an indexed array for multiple values.
    • *
    • Limit - integer - Optional - The maximum number of items to return. If Amazon DynamoDB hits this limit while scanning the table, it stops the scan and returns the matching values up to the limit, and a LastEvaluatedKey to apply in a subsequent operation to continue the scan. Also, if the scanned data set size exceeds 1 MB before Amazon DynamoDB hits this limit, it stops the scan and returns the matching values up to the limit, and a LastEvaluatedKey to apply in a subsequent operation to continue the scan.
    • *
    • Count - boolean - Optional - If set to true, Amazon DynamoDB returns a total number of items for the Scan operation, even if the operation has no matching items for the assigned filter. Do not set Count to true while providing a list of AttributesToGet, otherwise Amazon DynamoDB returns a validation error.
    • *
    • ScanFilter - array - Optional - Evaluates the scan results and returns only the desired values.
        *
      • [custom-key] - array - Optional - This key is variable (e.g., user-specified).
          *
        • AttributeValueList - array - Optional - A list of attribute values to be used with a comparison operator for a scan or query operation. For comparisons that require more than one value, such as a BETWEEN comparison, the AttributeValueList contains two attribute values and the comparison operator.
            *
          • x - array - Optional - This represents a simple array index.
              *
            • S - string - Optional - Strings are Unicode with UTF-8 binary encoding. The maximum size is limited by the size of the primary key (1024 bytes as a range part of a key or 2048 bytes as a single part hash key) or the item size (64k).
            • *
            • N - string - Optional - Numbers are positive or negative exact-value decimals and integers. A number can have up to 38 digits precision and can be between 10^-128 to 10^+126.
            • *
            • B - blob - Optional - Binary attributes are sequences of unsigned bytes.
            • *
            • SS - string|array - Optional - A set of strings. Pass a string for a single value, or an indexed array for multiple values.
            • *
            • NS - string|array - Optional - A set of numbers. Pass a string for a single value, or an indexed array for multiple values.
            • *
            • BS - blob - Optional - A set of binary attributes.
            • *
          • *
        • *
        • ComparisonOperator - string - Required - A comparison operator is an enumeration of several operations:
          • EQ for equal.
          • NE for not equal.
          • IN checks for exact matches.
          • LE for less than or equal to.
          • LT for less than.
          • GE for greater than or equal to.
          • GT for greater than.
          • BETWEEN for between.
          • NOT_NULL for exists.
          • NULL for not exists.
          • CONTAINS for substring or value in a set.
          • NOT_CONTAINS for absence of a substring or absence of a value in a set.
          • BEGINS_WITH for a substring prefix.
          Scan operations support all available comparison operators. Query operations support a subset of the available comparison operators: EQ, LE, LT, GE, GT, BETWEEN, and BEGINS_WITH. [Allowed values: EQ, NE, IN, LE, LT, GE, GT, BETWEEN, NOT_NULL, NULL, CONTAINS, NOT_CONTAINS, BEGINS_WITH]
        • *
      • *
    • *
    • ExclusiveStartKey - array - Optional - Primary key of the item from which to continue an earlier scan. An earlier scan might provide this value if that scan operation was interrupted before scanning the entire table; either because of the result set size or the Limit parameter. The LastEvaluatedKey can be passed back in a new scan request to continue the operation from that point.
        *
      • HashKeyElement - array - Required - A hash key element is treated as the primary key, and can be a string or a number. Single attribute primary keys have one index value. The value can be String, Number, StringSet, NumberSet.
          *
        • S - string - Optional - Strings are Unicode with UTF-8 binary encoding. The maximum size is limited by the size of the primary key (1024 bytes as a range part of a key or 2048 bytes as a single part hash key) or the item size (64k).
        • *
        • N - string - Optional - Numbers are positive or negative exact-value decimals and integers. A number can have up to 38 digits precision and can be between 10^-128 to 10^+126.
        • *
        • B - blob - Optional - Binary attributes are sequences of unsigned bytes.
        • *
        • SS - string|array - Optional - A set of strings. Pass a string for a single value, or an indexed array for multiple values.
        • *
        • NS - string|array - Optional - A set of numbers. Pass a string for a single value, or an indexed array for multiple values.
        • *
        • BS - blob - Optional - A set of binary attributes.
        • *
      • *
      • RangeKeyElement - array - Optional - A range key element is treated as a secondary key (used in conjunction with the primary key), and can be a string or a number, and is only used for hash-and-range primary keys. The value can be String, Number, StringSet, NumberSet.
          *
        • S - string - Optional - Strings are Unicode with UTF-8 binary encoding. The maximum size is limited by the size of the primary key (1024 bytes as a range part of a key or 2048 bytes as a single part hash key) or the item size (64k).
        • *
        • N - string - Optional - Numbers are positive or negative exact-value decimals and integers. A number can have up to 38 digits precision and can be between 10^-128 to 10^+126.
        • *
        • B - blob - Optional - Binary attributes are sequences of unsigned bytes.
        • *
        • SS - string|array - Optional - A set of strings. Pass a string for a single value, or an indexed array for multiple values.
        • *
        • NS - string|array - Optional - A set of numbers. Pass a string for a single value, or an indexed array for multiple values.
        • *
        • BS - blob - Optional - A set of binary attributes.
        • *
      • *
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Edits an existing item's attributes.
    	 *  
    	 * You can perform a conditional update (insert a new attribute name-value pair if it doesn't
    	 * exist, or replace an existing name-value pair if it has certain expected attribute values).
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • TableName - string - Required - The name of the table in which you want to update an item. Allowed characters are a-z, A-Z, 0-9, _ (underscore), - (hyphen) and . (period). [Constraints: The value must be between 3 and 255 characters, and must match the following regular expression pattern: [a-zA-Z0-9_.-]+]
    • *
    • Key - array - Required - The primary key that uniquely identifies each item in a table. A primary key can be a one attribute (hash) primary key or a two attribute (hash-and-range) primary key.
        *
      • HashKeyElement - array - Required - A hash key element is treated as the primary key, and can be a string or a number. Single attribute primary keys have one index value. The value can be String, Number, StringSet, NumberSet.
          *
        • S - string - Optional - Strings are Unicode with UTF-8 binary encoding. The maximum size is limited by the size of the primary key (1024 bytes as a range part of a key or 2048 bytes as a single part hash key) or the item size (64k).
        • *
        • N - string - Optional - Numbers are positive or negative exact-value decimals and integers. A number can have up to 38 digits precision and can be between 10^-128 to 10^+126.
        • *
        • B - blob - Optional - Binary attributes are sequences of unsigned bytes.
        • *
        • SS - string|array - Optional - A set of strings. Pass a string for a single value, or an indexed array for multiple values.
        • *
        • NS - string|array - Optional - A set of numbers. Pass a string for a single value, or an indexed array for multiple values.
        • *
        • BS - blob - Optional - A set of binary attributes.
        • *
      • *
      • RangeKeyElement - array - Optional - A range key element is treated as a secondary key (used in conjunction with the primary key), and can be a string or a number, and is only used for hash-and-range primary keys. The value can be String, Number, StringSet, NumberSet.
          *
        • S - string - Optional - Strings are Unicode with UTF-8 binary encoding. The maximum size is limited by the size of the primary key (1024 bytes as a range part of a key or 2048 bytes as a single part hash key) or the item size (64k).
        • *
        • N - string - Optional - Numbers are positive or negative exact-value decimals and integers. A number can have up to 38 digits precision and can be between 10^-128 to 10^+126.
        • *
        • B - blob - Optional - Binary attributes are sequences of unsigned bytes.
        • *
        • SS - string|array - Optional - A set of strings. Pass a string for a single value, or an indexed array for multiple values.
        • *
        • NS - string|array - Optional - A set of numbers. Pass a string for a single value, or an indexed array for multiple values.
        • *
        • BS - blob - Optional - A set of binary attributes.
        • *
      • *
    • *
    • AttributeUpdates - array - Required - Map of attribute name to the new value and action for the update. The attribute names specify the attributes to modify, and cannot contain any primary key attributes.
        *
      • [custom-key] - array - Optional - Specifies the attribute to update and how to perform the update. Possible values: PUT (default), ADD or DELETE.
          *
        • Value - array - Optional - AttributeValue can be String, Number, Binary, StringSet, NumberSet, BinarySet.
            *
          • S - string - Optional - Strings are Unicode with UTF-8 binary encoding. The maximum size is limited by the size of the primary key (1024 bytes as a range part of a key or 2048 bytes as a single part hash key) or the item size (64k).
          • *
          • N - string - Optional - Numbers are positive or negative exact-value decimals and integers. A number can have up to 38 digits precision and can be between 10^-128 to 10^+126.
          • *
          • B - blob - Optional - Binary attributes are sequences of unsigned bytes.
          • *
          • SS - string|array - Optional - A set of strings. Pass a string for a single value, or an indexed array for multiple values.
          • *
          • NS - string|array - Optional - A set of numbers. Pass a string for a single value, or an indexed array for multiple values.
          • *
          • BS - blob - Optional - A set of binary attributes.
          • *
        • *
        • Action - string - Optional - The type of action for an item update operation. Only use the add action for numbers or sets; the specified value is added to the existing value. If a set of values is specified, the values are added to the existing set. Adds the specified attribute. If the attribute exists, it is replaced by the new value. If no value is specified, this removes the attribute and its value. If a set of values is specified, then the values in the specified set are removed from the old set. [Allowed values: ADD, PUT, DELETE]
        • *
      • *
    • *
    • Expected - array - Optional - Designates an attribute for a conditional modification. The Expected parameter allows you to provide an attribute name, and whether or not Amazon DynamoDB should check to see if the attribute has a particular value before modifying it.
        *
      • [custom-key] - array - Optional - Allows you to provide an attribute name, and whether or not Amazon DynamoDB should check to see if the attribute value already exists; or if the attribute value exists and has a particular value before changing it.
          *
        • Value - array - Optional - Specify whether or not a value already exists and has a specific content for the attribute name-value pair.
            *
          • S - string - Optional - Strings are Unicode with UTF-8 binary encoding. The maximum size is limited by the size of the primary key (1024 bytes as a range part of a key or 2048 bytes as a single part hash key) or the item size (64k).
          • *
          • N - string - Optional - Numbers are positive or negative exact-value decimals and integers. A number can have up to 38 digits precision and can be between 10^-128 to 10^+126.
          • *
          • B - blob - Optional - Binary attributes are sequences of unsigned bytes.
          • *
          • SS - string|array - Optional - A set of strings. Pass a string for a single value, or an indexed array for multiple values.
          • *
          • NS - string|array - Optional - A set of numbers. Pass a string for a single value, or an indexed array for multiple values.
          • *
          • BS - blob - Optional - A set of binary attributes.
          • *
        • *
        • Exists - boolean - Optional - Specify whether or not a value already exists for the attribute name-value pair.
        • *
      • *
    • *
    • ReturnValues - string - Optional - Use this parameter if you want to get the attribute name-value pairs before or after they are modified. For PUT operations, the possible parameter values are NONE (default) or ALL_OLD. For update operations, the possible parameter values are NONE (default) or ALL_OLD, UPDATED_OLD, ALL_NEW or UPDATED_NEW.
      • NONE: Nothing is returned.
      • ALL_OLD: Returns the attributes of the item as they were before the operation.
      • UPDATED_OLD: Returns the values of the updated attributes, only, as they were before the operation.
      • ALL_NEW: Returns all the attributes and their new values after the operation.
      • UPDATED_NEW: Returns the values of the updated attributes, only, as they are after the operation.
      [Allowed values: NONE, ALL_OLD, UPDATED_OLD, ALL_NEW, UPDATED_NEW]
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Updates the provisioned throughput for the given table.
    	 *  
    	 * Setting the throughput for a table helps you manage performance and is part of the Provisioned
    	 * Throughput feature of Amazon DynamoDB.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • TableName - string - Required - The name of the table you want to update. Allowed characters are a-z, A-Z, 0-9, _ (underscore), - (hyphen) and . (period). [Constraints: The value must be between 3 and 255 characters, and must match the following regular expression pattern: [a-zA-Z0-9_.-]+]
    • *
    • ProvisionedThroughput - array - Required - Provisioned throughput reserves the required read and write resources for your table in terms of ReadCapacityUnits and WriteCapacityUnits. Values for provisioned throughput depend upon your expected read/write rates, item size, and consistency. Provide the expected number of read and write operations, assuming an item size of 1k and strictly consistent reads. For 2k item size, double the value. For 3k, triple the value, etc. Eventually-consistent reads consume half the resources of strictly consistent reads.
        *
      • ReadCapacityUnits - long - Required - ReadCapacityUnits are in terms of strictly consistent reads, assuming items of 1k. 2k items require twice the ReadCapacityUnits. Eventually-consistent reads only require half the ReadCapacityUnits of stirctly consistent reads.
      • *
      • WriteCapacityUnits - long - Required - WriteCapacityUnits are in terms of strictly consistent reads, assuming items of 1k. 2k items require twice the WriteCapacityUnits.
      • *
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    /*%******************************************************************************************%*/
    

    Class: DynamoDB_Exception extends Exception {

    /*%******************************************************************************************%*/
    
    /**
     * Represents a DynamoDB Binary type. Does base64_encoding automatically and can be
     * json_encoded directly.
     */
    
    	/**
    	 * Constructor for DynamoDB Binary type.
    	 *
    	 * @param string $value The binary value.
    	 */
    
    /**
     * Represents a DynamoDB binary set type. Does base64_encoding automatically and can be
     * json_encoded directly.
     */
    
    	/**
    	 * Constructor for DynamoDB Binary Set type.
    	 *
    	 * @param array $values Array of binary values.
    	 */
    

    File: /destinations/_s3lib/aws-sdk/services/ec2.class.php

    /*
     * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
     *
     * Licensed under the Apache License, Version 2.0 (the "License").
     * You may not use this file except in compliance with the License.
     * A copy of the License is located at
     *
     *  http://aws.amazon.com/apache2.0
     *
     * or in the "license" file accompanying this file. This file is distributed
     * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
     * express or implied. See the License for the specific language governing
     * permissions and limitations under the License.
     */
    
    /**
     * Amazon Elastic Compute Cloud (Amazon EC2) is a web service that provides resizable compute
     * capacity in the cloud. It is designed to make web-scale computing easier for developers.
     *  
     * Amazon EC2's simple web service interface allows you to obtain and configure capacity with
     * minimal friction. It provides you with complete control of your computing resources and lets
     * you run on Amazon's proven computing environment. Amazon EC2 reduces the time required to
     * obtain and boot new server instances to minutes, allowing you to quickly scale capacity, both
     * up and down, as your computing requirements change. Amazon EC2 changes the economics of
     * computing by allowing you to pay only for capacity that you actually use. Amazon EC2 provides
     * developers the tools to build failure resilient applications and isolate themselves from common
     * failure scenarios.
     *  
     * Visit http://aws.amazon.com/ec2/ for more information.
     *
     * @version 2013.03.14
     * @license See the included NOTICE.md file for complete information.
     * @copyright See the included NOTICE.md file for complete information.
     * @link http://aws.amazon.com/ec2/ Amazon EC2
     * @link http://aws.amazon.com/ec2/documentation/ Amazon EC2 documentation
     */
    
    	/*%******************************************************************************************%*/
    
    	/**
    	 * Specify the queue URL for the United States East (Northern Virginia) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the United States East (Northern Virginia) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the United States West (Northern California) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the United States West (Northern California) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the United States West (Oregon) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the United States West (Oregon) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the Europe West (Ireland) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the Europe West (Ireland) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the Asia Pacific Southeast (Singapore) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the Asia Pacific Southeast (Singapore) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the Asia Pacific Southeast (Singapore) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the Asia Pacific Southeast (Singapore) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the Asia Pacific Northeast (Tokyo) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the Asia Pacific Northeast (Tokyo) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the United States GovCloud Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the South America (Sao Paulo) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the South America (Sao Paulo) Region.
    	 */
    
    	/**
    	 * Default service endpoint.
    	 */
    
    	/*%******************************************************************************************%*/
    
    	/**
    	 * Constructs a new instance of .
    	 *
    	 * @param array $options (Optional) An associative array of parameters that can have the following keys: 
      *
    • certificate_authority - boolean - Optional - Determines which Cerificate Authority file to use. A value of boolean false will use the Certificate Authority file available on the system. A value of boolean true will use the Certificate Authority provided by the SDK. Passing a file system path to a Certificate Authority file (chmodded to 0755) will use that. Leave this set to false if you're not sure.
    • *
    • credentials - string - Optional - The name of the credential set to use for authentication.
    • *
    • default_cache_config - string - Optional - This option allows a preferred storage type to be configured for long-term caching. This can be changed later using the method. Valid values are: apc, xcache, or a file system path such as ./cache or /tmp/cache/.
    • *
    • key - string - Optional - Your AWS key, or a session key. If blank, the default credential set will be used.
    • *
    • secret - string - Optional - Your AWS secret key, or a session secret key. If blank, the default credential set will be used.
    • *
    • token - string - Optional - An AWS session token.
    * @return void */
    	/*%******************************************************************************************%*/
    
    	/*%******************************************************************************************%*/
    
    	/*%******************************************************************************************%*/
    
    	/**
    	 * This allows you to explicitly sets the region for the service to use.
    	 *
    	 * @param string $region (Required) The region to explicitly set. Available options are , , , , , , , , .
    	 * @return $this A reference to the current instance.
    	 */
    
    	/*%******************************************************************************************%*/
    
    	/**
    	 * Activates a specific number of licenses for a 90-day period. Activations can be done against a
    	 * specific license ID.
    	 *
    	 * @param string $license_id (Required) Specifies the ID for the specific license to activate against.
    	 * @param integer $capacity (Required) Specifies the additional number of licenses to activate.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * The AllocateAddress operation acquires an elastic IP address for use with your account.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • Domain - string - Optional - Set to vpc to allocate the address to your VPC. By default, will allocate to EC2. [Allowed values: vpc, standard]
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * 
    	 *
    	 * @param string $network_interface_id (Required) 
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • PrivateIpAddress - string|array - Optional - Pass a string for a single value, or an indexed array for multiple values.
    • *
    • SecondaryPrivateIpAddressCount - integer - Optional -
    • *
    • AllowReassignment - boolean - Optional -
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * The AssociateAddress operation associates an elastic IP address with an instance.
    	 *  
    	 * If the IP address is currently assigned to another instance, the IP address is assigned to the
    	 * new instance. This is an idempotent operation. If you enter it more than once, Amazon EC2 does
    	 * not return an error.
    	 *
    	 * @param string $instance_id (Required) The instance to associate with the IP address.
    	 * @param string $public_ip (Required) IP address that you are assigning to the instance.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • AllocationId - string - Optional - The allocation ID that AWS returned when you allocated the elastic IP address for use with Amazon VPC.
    • *
    • NetworkInterfaceId - string - Optional -
    • *
    • PrivateIpAddress - string - Optional -
    • *
    • AllowReassociation - boolean - Optional -
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Associates a set of DHCP options (that you've previously created) with the specified VPC. Or,
    	 * associates the default DHCP options with the VPC. The default set consists of the standard EC2
    	 * host name, no domain name, no DNS server, no NTP server, and no NetBIOS server or node type.
    	 * After you associate the options with the VPC, any existing instances and all new instances that
    	 * you launch in that VPC use the options. For more information about the supported DHCP options
    	 * and using them with Amazon VPC, go to Using DHCP Options in the Amazon Virtual Private Cloud
    	 * Developer Guide.
    	 *
    	 * @param string $dhcp_options_id (Required) The ID of the DHCP options to associate with the VPC. Specify "default" to associate the default DHCP options with the VPC.
    	 * @param string $vpc_id (Required) The ID of the VPC to associate the DHCP options with.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Associates a subnet with a route table. The subnet and route table must be in the same VPC.
    	 * This association causes traffic originating from the subnet to be routed according to the
    	 * routes in the route table. The action returns an association ID, which you need if you want to
    	 * disassociate the route table from the subnet later. A route table can be associated with
    	 * multiple subnets.
    	 *  
    	 * For more information about route tables, go to Route
    	 * Tables in the Amazon Virtual Private Cloud User Guide.
    	 *
    	 * @param string $subnet_id (Required) The ID of the subnet.
    	 * @param string $route_table_id (Required) The ID of the route table.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Attaches an Internet gateway to a VPC, enabling connectivity between the Internet and the VPC.
    	 * For more information about your VPC and Internet gateway, go to the Amazon Virtual Private
    	 * Cloud User Guide.
    	 *
    	 * @param string $internet_gateway_id (Required) The ID of the Internet gateway to attach.
    	 * @param string $vpc_id (Required) The ID of the VPC.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * 
    	 *
    	 * @param string $network_interface_id (Required) 
    	 * @param string $instance_id (Required) 
    	 * @param integer $device_index (Required) 
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Attach a previously created volume to a running instance.
    	 *
    	 * @param string $volume_id (Required) The ID of the Amazon EBS volume. The volume and instance must be within the same Availability Zone and the instance must be running.
    	 * @param string $instance_id (Required) The ID of the instance to which the volume attaches. The volume and instance must be within the same Availability Zone and the instance must be running.
    	 * @param string $device (Required) Specifies how the device is exposed to the instance (e.g., /dev/sdh).
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Attaches a VPN gateway to a VPC. This is the last step required to get your VPC fully connected
    	 * to your data center before launching instances in it. For more information, go to Process for
    	 * Using Amazon VPC in the Amazon Virtual Private Cloud Developer Guide.
    	 *
    	 * @param string $vpn_gateway_id (Required) The ID of the VPN gateway to attach to the VPC.
    	 * @param string $vpc_id (Required) The ID of the VPC to attach to the VPN gateway.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * This action applies only to security groups in a VPC; it's not supported for EC2 security
    	 * groups. For information about Amazon Virtual Private Cloud and VPC security groups, go to the
    	 * Amazon Virtual Private Cloud User Guide.
    	 *  
    	 * The action adds one or more egress rules to a VPC security group. Specifically, this permits
    	 * instances in a security group to send traffic to either one or more destination CIDR IP address
    	 * ranges, or to one or more destination security groups in the same VPC.
    	 *  
    	 * Each rule consists of the protocol (e.g., TCP), plus either a CIDR range, or a source group.
    	 * For the TCP and UDP protocols, you must also specify the destination port or port range. For
    	 * the ICMP protocol, you must also specify the ICMP type and code. You can use -1 as
    	 * a wildcard for the ICMP type or code.
    	 *  
    	 * Rule changes are propagated to instances within the security group as quickly as possible.
    	 * However, a small delay might occur.
    	 *  
    	 * Important: For VPC security groups: You can have up to 50 rules total per
    	 * group (covering both ingress and egress).
    	 *
    	 * @param string $group_id (Required) ID of the VPC security group to modify.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • IpPermissions - array - Optional - List of IP permissions to authorize on the specified security group. Specifying permissions through IP permissions is the preferred way of authorizing permissions since it offers more flexibility and control.
        *
      • x - array - Optional - This represents a simple array index.
          *
        • IpProtocol - string - Optional - The IP protocol of this permission. Valid protocol values: tcp, udp, icmp
        • *
        • FromPort - integer - Optional - Start of port range for the TCP and UDP protocols, or an ICMP type number. An ICMP type number of -1 indicates a wildcard (i.e., any ICMP type number).
        • *
        • ToPort - integer - Optional - End of port range for the TCP and UDP protocols, or an ICMP code. An ICMP code of -1 indicates a wildcard (i.e., any ICMP code).
        • *
        • Groups - array - Optional - The list of AWS user IDs and groups included in this permission.
            *
          • x - array - Optional - This represents a simple array index.
              *
            • UserId - string - Optional - The AWS user ID of an account.
            • *
            • GroupName - string - Optional - Name of the security group in the specified AWS account. Cannot be used when specifying a CIDR IP address range.
            • *
            • GroupId - string - Optional - ID of the security group in the specified AWS account. Cannot be used when specifying a CIDR IP address range.
            • *
          • *
        • *
        • IpRanges - string|array - Optional - The list of CIDR IP ranges included in this permission. Pass a string for a single value, or an indexed array for multiple values.
        • *
      • *
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * The AuthorizeSecurityGroupIngress operation adds permissions to a security group.
    	 *  
    	 * Permissions are specified by the IP protocol (TCP, UDP or ICMP), the source of the request (by
    	 * IP range or an Amazon EC2 user-group pair), the source and destination port ranges (for TCP and
    	 * UDP), and the ICMP codes and types (for ICMP). When authorizing ICMP, -1 can be
    	 * used as a wildcard in the type and code fields.
    	 *  
    	 * Permission changes are propagated to instances within the security group as quickly as
    	 * possible. However, depending on the number of instances, a small delay might occur.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • GroupName - string - Optional - Name of the standard (EC2) security group to modify. The group must belong to your account. Can be used instead of GroupID for standard (EC2) security groups.
    • *
    • GroupId - string - Optional - ID of the standard (EC2) or VPC security group to modify. The group must belong to your account. Required for VPC security groups; can be used instead of GroupName for standard (EC2) security groups.
    • *
    • IpPermissions - array - Optional - List of IP permissions to authorize on the specified security group. Specifying permissions through IP permissions is the preferred way of authorizing permissions since it offers more flexibility and control.
        *
      • x - array - Optional - This represents a simple array index.
          *
        • IpProtocol - string - Optional - The IP protocol of this permission. Valid protocol values: tcp, udp, icmp
        • *
        • FromPort - integer - Optional - Start of port range for the TCP and UDP protocols, or an ICMP type number. An ICMP type number of -1 indicates a wildcard (i.e., any ICMP type number).
        • *
        • ToPort - integer - Optional - End of port range for the TCP and UDP protocols, or an ICMP code. An ICMP code of -1 indicates a wildcard (i.e., any ICMP code).
        • *
        • Groups - array - Optional - The list of AWS user IDs and groups included in this permission.
            *
          • x - array - Optional - This represents a simple array index.
              *
            • UserId - string - Optional - The AWS user ID of an account.
            • *
            • GroupName - string - Optional - Name of the security group in the specified AWS account. Cannot be used when specifying a CIDR IP address range.
            • *
            • GroupId - string - Optional - ID of the security group in the specified AWS account. Cannot be used when specifying a CIDR IP address range.
            • *
          • *
        • *
        • IpRanges - string|array - Optional - The list of CIDR IP ranges included in this permission. Pass a string for a single value, or an indexed array for multiple values.
        • *
      • *
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * The BundleInstance operation request that an instance is bundled the next time it boots. The
    	 * bundling process creates a new image from a running instance and stores the AMI data in S3. Once
    	 * bundled, the image must be registered in the normal way using the RegisterImage API.
    	 *
    	 * @param string $instance_id (Required) The ID of the instance to bundle.
    	 * @param array $policy (Required) The details of S3 storage for bundling a Windows instance. Takes an associative array of parameters that can have the following keys: 
      *
    • Bucket - string - Optional - The bucket in which to store the AMI. You can specify a bucket that you already own or a new bucket that Amazon EC2 creates on your behalf. If you specify a bucket that belongs to someone else, Amazon EC2 returns an error.
    • *
    • Prefix - string - Optional - The prefix to use when storing the AMI in S3.
    • *
    • AWSAccessKeyId - string - Optional - The Access Key ID of the owner of the Amazon S3 bucket. Use the method of a instance.
    • *
    • UploadPolicy - string - Optional - A Base64-encoded Amazon S3 upload policy that gives Amazon EC2 permission to upload items into Amazon S3 on the user's behalf. Use the method of a instance.
    • *
    • UploadPolicySignature - string - Optional - The signature of the Base64 encoded JSON document. Use the method of a instance.
    * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This is useful for manually-managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * CancelBundleTask operation cancels a pending or in-progress bundling task. This is an
    	 * asynchronous call and it make take a while for the task to be canceled. If a task is canceled
    	 * while it is storing items, there may be parts of the incomplete AMI stored in S3. It is up to
    	 * the caller to clean up these parts from S3.
    	 *
    	 * @param string $bundle_id (Required) The ID of the bundle task to cancel.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * 
    	 *
    	 * @param string $conversion_task_id (Required) 
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • ReasonMessage - string - Optional -
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * 
    	 *
    	 * @param string $export_task_id (Required) 
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * 
    	 *
    	 * @param string $reserved_instances_listing_id (Required) 
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Cancels one or more Spot Instance requests.
    	 *  
    	 * Spot Instances are instances that Amazon EC2 starts on your behalf when the maximum price that
    	 * you specify exceeds the current Spot Price. Amazon EC2 periodically sets the Spot Price based
    	 * on available Spot Instance capacity and current spot instance requests.
    	 *  
    	 * For conceptual information about Spot Instances, refer to the Amazon Elastic Compute
    	 * Cloud Developer Guide or Amazon Elastic Compute Cloud
    	 * User Guide.
    	 *
    	 * @param string|array $spot_instance_request_id (Required) Specifies the ID of the Spot Instance request. Pass a string for a single value, or an indexed array for multiple values.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * The ConfirmProductInstance operation returns true if the specified product code is attached to
    	 * the specified instance. The operation returns false if the product code is not attached to the
    	 * instance.
    	 *  
    	 * The ConfirmProductInstance operation can only be executed by the owner of the AMI. This feature
    	 * is useful when an AMI owner is providing support and wants to verify whether a user's instance
    	 * is eligible.
    	 *
    	 * @param string $product_code (Required) The product code to confirm.
    	 * @param string $instance_id (Required) The ID of the instance to confirm.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * 
    	 *
    	 * @param string $source_region (Required) 
    	 * @param string $source_image_id (Required) 
    	 * @param string $name (Required) 
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • Description - string - Optional -
    • *
    • ClientToken - string - Optional -
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * 
    	 *
    	 * @param string $source_region (Required) 
    	 * @param string $source_snapshot_id (Required) 
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • Description - string - Optional -
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Provides information to AWS about your customer gateway device. The customer gateway is the
    	 * appliance at your end of the VPN connection (compared to the VPN gateway, which is the device
    	 * at the AWS side of the VPN connection). You can have a single active customer gateway per AWS
    	 * account (active means that you've created a VPN connection to use with the customer gateway).
    	 * AWS might delete any customer gateway that you create with this operation if you leave it
    	 * inactive for an extended period of time.
    	 *  
    	 * You must provide the Internet-routable IP address of the customer gateway's external interface.
    	 * The IP address must be static.
    	 *  
    	 * You must also provide the device's Border Gateway Protocol (BGP) Autonomous System Number
    	 * (ASN). You can use an existing ASN assigned to your network. If you don't have an ASN already,
    	 * you can use a private ASN (in the 64512 - 65534 range). For more information about ASNs, go to
    	 * 	http://en.wikipedia.org/wiki/Autonomous_system_%28Internet%29.
    	 *
    	 * @param string $type (Required) The type of VPN connection this customer gateway supports.
    	 * @param string $ip_address (Required) The Internet-routable IP address for the customer gateway's outside interface. The address must be static
    	 * @param integer $bgp_asn (Required) The customer gateway's Border Gateway Protocol (BGP) Autonomous System Number (ASN).
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Creates a set of DHCP options that you can then associate with one or more VPCs, causing all
    	 * existing and new instances that you launch in those VPCs to use the set of DHCP options. The
    	 * following table lists the individual DHCP options you can specify. For more information about
    	 * the options, go to http://www.ietf.org/rfc/rfc2132.txt
    	 *
    	 * @param array $dhcp_configuration (Required) A set of one or more DHCP configurations. 
      *
    • x - array - Optional - This represents a simple array index.
        *
      • Key - string - Optional - Contains the name of a DHCP option.
      • *
      • Value - string|array - Optional - Contains a set of values for a DHCP option. Pass a string for a single value, or an indexed array for multiple values.
      • *
    • *
    * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Creates an Amazon EBS-backed AMI from a "running" or "stopped" instance. AMIs that use an
    	 * Amazon EBS root device boot faster than AMIs that use instance stores. They can be up to 1 TiB
    	 * in size, use storage that persists on instance failure, and can be stopped and started.
    	 *
    	 * @param string $instance_id (Required) The ID of the instance from which to create the new image.
    	 * @param string $name (Required) The name for the new AMI being created.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • Description - string - Optional - The description for the new AMI being created.
    • *
    • NoReboot - boolean - Optional - By default this property is set to false, which means Amazon EC2 attempts to cleanly shut down the instance before image creation and reboots the instance afterwards. When set to true, Amazon EC2 will not shut down the instance before creating the image. When this option is used, file system integrity on the created image cannot be guaranteed.
    • *
    • BlockDeviceMapping - array - Optional - The BlockDeviceMappingItemType data type.
        *
      • x - array - Optional - This represents a simple array index.
          *
        • VirtualName - string - Optional - Specifies the virtual device name.
        • *
        • DeviceName - string - Optional - Specifies the device name (e.g., /dev/sdh).
        • *
        • Ebs - array - Optional - Specifies parameters used to automatically setup Amazon EBS volumes when the instance is launched.
            *
          • x - array - Optional - This represents a simple array index.
              *
            • SnapshotId - string - Optional - The ID of the snapshot from which the volume will be created.
            • *
            • VolumeSize - integer - Optional - The size of the volume, in gigabytes.
            • *
            • DeleteOnTermination - boolean - Optional - Specifies whether the Amazon EBS volume is deleted on instance termination.
            • *
            • VolumeType - string - Optional - [Allowed values: standard, io1]
            • *
            • Iops - integer - Optional -
            • *
          • *
        • *
        • NoDevice - string - Optional - Specifies the device name to suppress during instance launch.
        • *
      • *
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * 
    	 *
    	 * @param string $instance_id (Required) 
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • Description - string - Optional -
    • *
    • TargetEnvironment - string - Optional - [Allowed values: citrix, vmware]
    • *
    • ExportToS3 - array - Optional -
        *
      • x - array - Optional - This represents a simple array index.
          *
        • DiskImageFormat - string - Optional - [Allowed values: vmdk, vhd]
        • *
        • ContainerFormat - string - Optional - [Allowed values: ova]
        • *
        • S3Bucket - string - Optional -
        • *
        • S3Prefix - string - Optional -
        • *
      • *
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Creates a new Internet gateway in your AWS account. After creating the Internet gateway, you
    	 * then attach it to a VPC using AttachInternetGateway. For more information about
    	 * your VPC and Internet gateway, go to Amazon Virtual Private Cloud User Guide.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * The CreateKeyPair operation creates a new 2048 bit RSA key pair and returns a unique ID that
    	 * can be used to reference this key pair when launching new instances. For more information, see
    	 * RunInstances.
    	 *
    	 * @param string $key_name (Required) The unique name for the new key pair.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Creates a new network ACL in a VPC. Network ACLs provide an optional layer of security (on top
    	 * of security groups) for the instances in your VPC. For more information about network ACLs, go
    	 * to Network ACLs in the Amazon Virtual Private Cloud User Guide.
    	 *
    	 * @param string $vpc_id (Required) The ID of the VPC where the network ACL will be created.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Creates an entry (i.e., rule) in a network ACL with a rule number you specify. Each network ACL
    	 * has a set of numbered ingress rules and a separate set of numbered egress rules. When
    	 * determining whether a packet should be allowed in or out of a subnet associated with the ACL,
    	 * Amazon VPC processes the entries in the ACL according to the rule numbers, in ascending order.
    	 *  
    	 * Important: We recommend that you leave room between the rules (e.g., 100, 110,
    	 * 120, etc.), and not number them sequentially (101, 102, 103, etc.). This allows you to easily
    	 * add a new rule between existing ones without having to renumber the rules.
    	 *  
    	 * After you add an entry, you can't modify it; you must either replace it, or create a new entry
    	 * and delete the old one.
    	 *  
    	 * For more information about network ACLs, go to Network ACLs in the Amazon Virtual Private Cloud
    	 * User Guide.
    	 *
    	 * @param string $network_acl_id (Required) ID of the ACL where the entry will be created.
    	 * @param integer $rule_number (Required) Rule number to assign to the entry (e.g., 100). ACL entries are processed in ascending order by rule number.
    	 * @param string $protocol (Required) IP protocol the rule applies to. Valid Values: tcp, udp, icmp or an IP protocol number.
    	 * @param string $rule_action (Required) Whether to allow or deny traffic that matches the rule. [Allowed values: allow, deny]
    	 * @param boolean $egress (Required) Whether this rule applies to egress traffic from the subnet (true) or ingress traffic to the subnet (false).
    	 * @param string $cidr_block (Required) The CIDR range to allow or deny, in CIDR notation (e.g., 172.16.0.0/24).
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • Icmp - array - Optional - ICMP values.
        *
      • x - array - Optional - This represents a simple array index.
          *
        • Type - integer - Optional - For the ICMP protocol, the ICMP type. A value of -1 is a wildcard meaning all types. Required if specifying icmp for the protocol.
        • *
        • Code - integer - Optional - For the ICMP protocol, the ICMP code. A value of -1 is a wildcard meaning all codes. Required if specifying icmp for the protocol.
        • *
      • *
    • *
    • PortRange - array - Optional - Port ranges.
        *
      • x - array - Optional - This represents a simple array index.
          *
        • From - integer - Optional - The first port in the range. Required if specifying tcp or udp for the protocol.
        • *
        • To - integer - Optional - The last port in the range. Required if specifying tcp or udp for the protocol.
        • *
      • *
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * 
    	 *
    	 * @param string $subnet_id (Required) 
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • Description - string - Optional -
    • *
    • PrivateIpAddress - string - Optional -
    • *
    • SecurityGroupId - string|array - Optional - Pass a string for a single value, or an indexed array for multiple values.
    • *
    • PrivateIpAddresses - array - Optional -
        *
      • x - array - Optional - This represents a simple array index.
          *
        • PrivateIpAddress - string - Required -
        • *
        • Primary - boolean - Optional -
        • *
      • *
    • *
    • SecondaryPrivateIpAddressCount - integer - Optional -
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Creates a PlacementGroup into which multiple Amazon EC2 instances can be launched.
    	 * Users must give the group a name unique within the scope of the user account.
    	 *
    	 * @param string $group_name (Required) The name of the PlacementGroup.
    	 * @param string $strategy (Required) The PlacementGroup strategy. [Allowed values: cluster]
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * 
    	 *
    	 * @param string $reserved_instances_id (Required) 
    	 * @param integer $instance_count (Required) 
    	 * @param array $price_schedules (Required)  
      *
    • x - array - Optional - This represents a simple array index.
        *
      • Term - long - Optional -
      • *
      • Price - double - Optional -
      • *
      • CurrencyCode - string - Optional -
      • *
    • *
    * @param string $client_token (Required) * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Creates a new route in a route table within a VPC. The route's target can be either a gateway
    	 * attached to the VPC or a NAT instance in the VPC.
    	 *  
    	 * When determining how to route traffic, we use the route with the most specific match. For
    	 * example, let's say the traffic is destined for 192.0.2.3, and the route table
    	 * includes the following two routes:
    	 * 
    	 * 
      *
    • 192.0.2.0/24 (goes to some target A)
    • *
    • 192.0.2.0/28 (goes to some target B)
    • *
    * * Both routes apply to the traffic destined for 192.0.2.3. However, the second route * in the list is more specific, so we use that route to determine where to target the traffic. * * For more information about route tables, go to Route * Tables in the Amazon Virtual Private Cloud User Guide. * * @param string $route_table_id (Required) The ID of the route table where the route will be added. * @param string $destination_cidr_block (Required) The CIDR address block used for the destination match. For example: 0.0.0.0/0. Routing decisions are based on the most specific match. * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • GatewayId - string - Optional - The ID of a VPN or Internet gateway attached to your VPC. You must provide either GatewayId or InstanceId, but not both.
    • *
    • InstanceId - string - Optional - The ID of a NAT instance in your VPC. You must provide either GatewayId or InstanceId, but not both.
    • *
    • NetworkInterfaceId - string - Optional -
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Creates a new route table within a VPC. After you create a new route table, you can add routes
    	 * and associate the table with a subnet. For more information about route tables, go to Route
    	 * Tables in the Amazon Virtual Private Cloud User Guide.
    	 *
    	 * @param string $vpc_id (Required) The ID of the VPC where the route table will be created.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * The CreateSecurityGroup operation creates a new security group.
    	 *  
    	 * Every instance is launched in a security group. If no security group is specified during
    	 * launch, the instances are launched in the default security group. Instances within the same
    	 * security group have unrestricted network access to each other. Instances will reject network
    	 * access attempts from other instances in a different security group. As the owner of instances
    	 * you can grant or revoke specific permissions using the AuthorizeSecurityGroupIngress and
    	 * RevokeSecurityGroupIngress operations.
    	 *
    	 * @param string $group_name (Required) Name of the security group.
    	 * @param string $group_description (Required) Description of the group. This is informational only.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • VpcId - string - Optional - ID of the VPC.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Create a snapshot of the volume identified by volume ID. A volume does not have to be detached
    	 * at the time the snapshot is taken.
    	 * 
    	 * 

    * Snapshot creation requires that the system is in a consistent state. For instance, this means * that if taking a snapshot of a database, the tables must be read-only locked to ensure that the * snapshot will not contain a corrupted version of the database. Therefore, be careful when using * this API to ensure that the system remains in the consistent state until the create snapshot * status has returned. *

    * * @param string $volume_id (Required) The ID of the volume from which to create the snapshot. * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • Description - string - Optional - The description for the new snapshot.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Creates the data feed for Spot Instances, enabling you to view Spot Instance usage logs. You
    	 * can create one data feed per account.
    	 *  
    	 * For conceptual information about Spot Instances, refer to the Amazon Elastic Compute
    	 * Cloud Developer Guide or Amazon Elastic Compute Cloud
    	 * User Guide.
    	 *
    	 * @param string $bucket (Required) The Amazon S3 bucket in which to store the Spot Instance datafeed.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • Prefix - string - Optional - The prefix that is prepended to datafeed files.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Creates a subnet in an existing VPC. You can create up to 20 subnets in a VPC. If you add more
    	 * than one subnet to a VPC, they're set up in a star topology with a logical router in the
    	 * middle. When you create each subnet, you provide the VPC ID and the CIDR block you want for the
    	 * subnet. Once you create a subnet, you can't change its CIDR block. The subnet's CIDR block can
    	 * be the same as the VPC's CIDR block (assuming you want only a single subnet in the VPC), or a
    	 * subset of the VPC's CIDR block. If you create more than one subnet in a VPC, the subnets' CIDR
    	 * blocks must not overlap. The smallest subnet (and VPC) you can create uses a /28
    	 * netmask (16 IP addresses), and the largest uses a /18 netmask (16,384 IP
    	 * addresses).
    	 * 
    	 * 

    * AWS reserves both the first four and the last IP address in each subnet's CIDR block. They're * not available for use. * * @param string $vpc_id (Required) The ID of the VPC to create the subnet in. * @param string $cidr_block (Required) The CIDR block the subnet is to cover. * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • AvailabilityZone - string - Optional - The Availability Zone to create the subnet in.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Adds or overwrites tags for the specified resources. Each resource can have a maximum of 10
    	 * tags. Each tag consists of a key-value pair. Tag keys must be unique per resource.
    	 *
    	 * @param string|array $resource_id (Required) One or more IDs of resources to tag. This could be the ID of an AMI, an instance, an EBS volume, or snapshot, etc. Pass a string for a single value, or an indexed array for multiple values.
    	 * @param array $tag (Required) The tags to add or overwrite for the specified resources. Each tag item consists of a key-value pair. 
      *
    • x - array - Optional - This represents a simple array index.
        *
      • Key - string - Optional - The tag's key.
      • *
      • Value - string - Optional - The tag's value.
      • *
    • *
    * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Initializes an empty volume of a given size.
    	 *
    	 * @param string $availability_zone (Required) The Availability Zone in which to create the new volume.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • Size - integer - Optional - The size of the volume, in gigabytes. Required if you are not creating a volume from a snapshot.
    • *
    • SnapshotId - string - Optional - The ID of the snapshot from which to create the new volume.
    • *
    • VolumeType - string - Optional - [Allowed values: standard, io1]
    • *
    • Iops - integer - Optional -
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Creates a VPC with the CIDR block you specify. The smallest VPC you can create uses a
    	 * /28 netmask (16 IP addresses), and the largest uses a /18 netmask
    	 * (16,384 IP addresses). To help you decide how big to make your VPC, go to the topic about
    	 * creating VPCs in the Amazon Virtual Private Cloud Developer Guide.
    	 *  
    	 * By default, each instance you launch in the VPC has the default DHCP options (the standard EC2
    	 * host name, no domain name, no DNS server, no NTP server, and no NetBIOS server or node type).
    	 *
    	 * @param string $cidr_block (Required) A valid CIDR block.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • InstanceTenancy - string - Optional - The allowed tenancy of instances launched into the VPC. A value of default means instances can be launched with any tenancy; a value of dedicated means instances must be launched with tenancy as dedicated.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Creates a new VPN connection between an existing VPN gateway and customer gateway. The only
    	 * supported connection type is ipsec.1.
    	 *  
    	 * The response includes information that you need to configure your customer gateway, in XML
    	 * format. We recommend you use the command line version of this operation
    	 * (ec2-create-vpn-connection), which takes an -f option (for format)
    	 * and returns configuration information formatted as expected by the vendor you specified, or in
    	 * a generic, human readable format. For information about the command, go to
    	 * ec2-create-vpn-connection in the Amazon Virtual Private Cloud Command Line
    	 * Reference.
    	 * 
    	 * 

    * We strongly recommend you use HTTPS when calling this operation because the response contains * sensitive cryptographic information for configuring your customer gateway. * * If you decide to shut down your VPN connection for any reason and then create a new one, you * must re-configure your customer gateway with the new information returned from this call. * * @param string $type (Required) The type of VPN connection. * @param string $customer_gateway_id (Required) The ID of the customer gateway. * @param string $vpn_gateway_id (Required) The ID of the VPN gateway. * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • Options - array - Optional -
        *
      • x - array - Optional - This represents a simple array index.
          *
        • StaticRoutesOnly - boolean - Optional -
        • *
      • *
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * 
    	 *
    	 * @param string $vpn_connection_id (Required) 
    	 * @param string $destination_cidr_block (Required) 
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Creates a new VPN gateway. A VPN gateway is the VPC-side endpoint for your VPN connection. You
    	 * can create a VPN gateway before creating the VPC itself.
    	 *
    	 * @param string $type (Required) The type of VPN connection this VPN gateway supports.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • AvailabilityZone - string - Optional - The Availability Zone in which to create the VPN gateway.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Deactivates a specific number of licenses. Deactivations can be done against a specific license
    	 * ID after they have persisted for at least a 90-day period.
    	 *
    	 * @param string $license_id (Required) Specifies the ID for the specific license to deactivate against.
    	 * @param integer $capacity (Required) Specifies the amount of capacity to deactivate against the license.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Deletes a customer gateway. You must delete the VPN connection before deleting the customer
    	 * gateway.
    	 *  
    	 * You can have a single active customer gateway per AWS account (active means that you've created
    	 * a VPN connection with that customer gateway). AWS might delete any customer gateway you leave
    	 * inactive for an extended period of time.
    	 *
    	 * @param string $customer_gateway_id (Required) The ID of the customer gateway to delete.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Deletes a set of DHCP options that you specify. Amazon VPC returns an error if the set of
    	 * options you specify is currently associated with a VPC. You can disassociate the set of options
    	 * by associating either a new set of options or the default options with the VPC.
    	 *
    	 * @param string $dhcp_options_id (Required) The ID of the DHCP options set to delete.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Deletes an Internet gateway from your AWS account. The gateway must not be attached to a VPC.
    	 * For more information about your VPC and Internet gateway, go to Amazon Virtual Private Cloud
    	 * User Guide.
    	 *
    	 * @param string $internet_gateway_id (Required) The ID of the Internet gateway to be deleted.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * The DeleteKeyPair operation deletes a key pair.
    	 *
    	 * @param string $key_name (Required) The name of the Amazon EC2 key pair to delete.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Deletes a network ACL from a VPC. The ACL must not have any subnets associated with it. You
    	 * can't delete the default network ACL. For more information about network ACLs, go to Network
    	 * ACLs in the Amazon Virtual Private Cloud User Guide.
    	 *
    	 * @param string $network_acl_id (Required) The ID of the network ACL to be deleted.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Deletes an ingress or egress entry (i.e., rule) from a network ACL. For more information about
    	 * network ACLs, go to Network ACLs in the Amazon Virtual Private Cloud User Guide.
    	 *
    	 * @param string $network_acl_id (Required) ID of the network ACL.
    	 * @param integer $rule_number (Required) Rule number for the entry to delete.
    	 * @param boolean $egress (Required) Whether the rule to delete is an egress rule (true) or ingress rule (false).
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * 
    	 *
    	 * @param string $network_interface_id (Required) 
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Deletes a PlacementGroup from a user's account. Terminate all Amazon EC2 instances
    	 * in the placement group before deletion.
    	 *
    	 * @param string $group_name (Required) The name of the PlacementGroup to delete.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Deletes a route from a route table in a VPC. For more information about route tables, go to
    	 * 	Route
    	 * Tables in the Amazon Virtual Private Cloud User Guide.
    	 *
    	 * @param string $route_table_id (Required) The ID of the route table where the route will be deleted.
    	 * @param string $destination_cidr_block (Required) The CIDR range for the route you want to delete. The value you specify must exactly match the CIDR for the route you want to delete.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Deletes a route table from a VPC. The route table must not be associated with a subnet. You
    	 * can't delete the main route table. For more information about route tables, go to Route
    	 * Tables in the Amazon Virtual Private Cloud User Guide.
    	 *
    	 * @param string $route_table_id (Required) The ID of the route table to be deleted.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * The DeleteSecurityGroup operation deletes a security group.
    	 * 
    	 * 

    * If you attempt to delete a security group that contains instances, a fault is returned. * * If you attempt to delete a security group that is referenced by another security group, a fault * is returned. For example, if security group B has a rule that allows access from security group * A, security group A cannot be deleted until the allow rule is removed. * * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • GroupName - string - Optional - The name of the Amazon EC2 security group to delete.
    • *
    • GroupId - string - Optional - The ID of the Amazon EC2 security group to delete.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Deletes the snapshot identified by snapshotId.
    	 *
    	 * @param string $snapshot_id (Required) The ID of the snapshot to delete.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Deletes the data feed for Spot Instances.
    	 *  
    	 * For conceptual information about Spot Instances, refer to the Amazon Elastic Compute
    	 * Cloud Developer Guide or Amazon Elastic Compute Cloud
    	 * User Guide.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Deletes a subnet from a VPC. You must terminate all running instances in the subnet before
    	 * deleting it, otherwise Amazon VPC returns an error.
    	 *
    	 * @param string $subnet_id (Required) The ID of the subnet you want to delete.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Deletes tags from the specified Amazon EC2 resources.
    	 *
    	 * @param string|array $resource_id (Required) A list of one or more resource IDs. This could be the ID of an AMI, an instance, an EBS volume, or snapshot, etc. Pass a string for a single value, or an indexed array for multiple values.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • Tag - array - Optional - The tags to delete from the specified resources. Each tag item consists of a key-value pair. If a tag is specified without a value, the tag and all of its values are deleted.
        *
      • x - array - Optional - This represents a simple array index.
          *
        • Key - string - Optional - The tag's key.
        • *
        • Value - string - Optional - The tag's value.
        • *
      • *
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Deletes a previously created volume. Once successfully deleted, a new volume can be created
    	 * with the same name.
    	 *
    	 * @param string $volume_id (Required) The ID of the EBS volume to delete.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Deletes a VPC. You must detach or delete all gateways or other objects that are dependent on
    	 * the VPC first. For example, you must terminate all running instances, delete all VPC security
    	 * groups (except the default), delete all the route tables (except the default), etc.
    	 *
    	 * @param string $vpc_id (Required) The ID of the VPC you want to delete.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Deletes a VPN connection. Use this if you want to delete a VPC and all its associated
    	 * components. Another reason to use this operation is if you believe the tunnel credentials for
    	 * your VPN connection have been compromised. In that situation, you can delete the VPN connection
    	 * and create a new one that has new keys, without needing to delete the VPC or VPN gateway. If
    	 * you create a new VPN connection, you must reconfigure the customer gateway using the new
    	 * configuration information returned with the new VPN connection ID.
    	 *  
    	 * If you're deleting the VPC and all its associated parts, we recommend you detach the VPN
    	 * gateway from the VPC and delete the VPC before deleting the VPN connection.
    	 *
    	 * @param string $vpn_connection_id (Required) The ID of the VPN connection to delete
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * 
    	 *
    	 * @param string $vpn_connection_id (Required) 
    	 * @param string $destination_cidr_block (Required) 
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Deletes a VPN gateway. Use this when you want to delete a VPC and all its associated components
    	 * because you no longer need them. We recommend that before you delete a VPN gateway, you detach
    	 * it from the VPC and delete the VPN connection. Note that you don't need to delete the VPN
    	 * gateway if you just want to delete and re-create the VPN connection between your VPC and data
    	 * center.
    	 *
    	 * @param string $vpn_gateway_id (Required) The ID of the VPN gateway to delete.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * The DeregisterImage operation deregisters an AMI. Once deregistered, instances of the AMI can
    	 * no longer be launched.
    	 *
    	 * @param string $image_id (Required) The ID of the AMI to deregister.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * 
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • AttributeName - string|array - Optional - Pass a string for a single value, or an indexed array for multiple values.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * The DescribeAddresses operation lists elastic IP addresses assigned to your account.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • PublicIp - string|array - Optional - The optional list of Elastic IP addresses to describe. Pass a string for a single value, or an indexed array for multiple values.
    • *
    • Filter - array - Optional - A list of filters used to match properties for Addresses. For a complete reference to the available filter keys for this operation, see the Amazon EC2 API reference.
        *
      • x - array - Optional - This represents a simple array index.
          *
        • Name - string - Optional - Specifies the name of the filter.
        • *
        • Value - string|array - Optional - Contains one or more values for the filter. Pass a string for a single value, or an indexed array for multiple values.
        • *
      • *
    • *
    • AllocationId - string|array - Optional - Pass a string for a single value, or an indexed array for multiple values.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * The DescribeAvailabilityZones operation describes availability zones that are currently
    	 * available to the account and their states.
    	 *  
    	 * Availability zones are not the same across accounts. The availability zone
    	 * us-east-1a for account A is not necessarily the same as us-east-1a
    	 * for account B. Zone assignments are mapped independently for each account.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • ZoneName - string|array - Optional - A list of the availability zone names to describe. Pass a string for a single value, or an indexed array for multiple values.
    • *
    • Filter - array - Optional - A list of filters used to match properties for AvailabilityZones. For a complete reference to the available filter keys for this operation, see the Amazon EC2 API reference.
        *
      • x - array - Optional - This represents a simple array index.
          *
        • Name - string - Optional - Specifies the name of the filter.
        • *
        • Value - string|array - Optional - Contains one or more values for the filter. Pass a string for a single value, or an indexed array for multiple values.
        • *
      • *
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * The DescribeBundleTasks operation describes in-progress and recent bundle tasks. Complete and
    	 * failed tasks are removed from the list a short time after completion. If no bundle ids are
    	 * given, all bundle tasks are returned.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • BundleId - string|array - Optional - The list of bundle task IDs to describe. Pass a string for a single value, or an indexed array for multiple values.
    • *
    • Filter - array - Optional - A list of filters used to match properties for BundleTasks. For a complete reference to the available filter keys for this operation, see the Amazon EC2 API reference.
        *
      • x - array - Optional - This represents a simple array index.
          *
        • Name - string - Optional - Specifies the name of the filter.
        • *
        • Value - string|array - Optional - Contains one or more values for the filter. Pass a string for a single value, or an indexed array for multiple values.
        • *
      • *
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * 
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • Filter - array - Optional - A filter used to limit results when describing tags. Multiple values can be specified per filter. A tag must match at least one of the specified values for it to be returned from an operation. Wildcards can be included in filter values; * specifies that zero or more characters must match, and ? specifies that exactly one character must match. Use a backslash to escape special characters. For example, a filter value of \*amazon\?\\ specifies the literal string *amazon?\.
        *
      • x - array - Optional - This represents a simple array index.
          *
        • Name - string - Optional - Specifies the name of the filter.
        • *
        • Value - string|array - Optional - Contains one or more values for the filter. Pass a string for a single value, or an indexed array for multiple values.
        • *
      • *
    • *
    • ConversionTaskId - string|array - Optional - Pass a string for a single value, or an indexed array for multiple values.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Gives you information about your customer gateways. You can filter the results to return
    	 * information only about customer gateways that match criteria you specify. For example, you
    	 * could ask to get information about a particular customer gateway (or all) only if the gateway's
    	 * state is pending or available. You can specify multiple filters (e.g., the customer gateway has
    	 * a particular IP address for the Internet-routable external interface, and the gateway's state
    	 * is pending or available). The result includes information for a particular customer gateway
    	 * only if the gateway matches all your filters. If there's no match, no special message is
    	 * returned; the response is simply empty. The following table shows the available filters.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • CustomerGatewayId - string|array - Optional - A set of one or more customer gateway IDs. Pass a string for a single value, or an indexed array for multiple values.
    • *
    • Filter - array - Optional - A list of filters used to match properties for Customer Gateways. For a complete reference to the available filter keys for this operation, see the Amazon EC2 API reference.
        *
      • x - array - Optional - This represents a simple array index.
          *
        • Name - string - Optional - Specifies the name of the filter.
        • *
        • Value - string|array - Optional - Contains one or more values for the filter. Pass a string for a single value, or an indexed array for multiple values.
        • *
      • *
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Gives you information about one or more sets of DHCP options. You can specify one or more DHCP
    	 * options set IDs, or no IDs (to describe all your sets of DHCP options). The returned
    	 * information consists of:
    	 * 
    	 * 
      *
    • The DHCP options set ID
    • *
    • The options
    • *
    * * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • DhcpOptionsId - string|array - Optional - Pass a string for a single value, or an indexed array for multiple values.
    • *
    • Filter - array - Optional - A list of filters used to match properties for DhcpOptions. For a complete reference to the available filter keys for this operation, see the Amazon EC2 API reference.
        *
      • x - array - Optional - This represents a simple array index.
          *
        • Name - string - Optional - Specifies the name of the filter.
        • *
        • Value - string|array - Optional - Contains one or more values for the filter. Pass a string for a single value, or an indexed array for multiple values.
        • *
      • *
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * 
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • ExportTaskId - string|array - Optional - Pass a string for a single value, or an indexed array for multiple values.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * The DescribeImageAttribute operation returns information about an attribute of an AMI. Only one
    	 * attribute can be specified per call.
    	 *
    	 * @param string $image_id (Required) The ID of the AMI whose attribute is to be described.
    	 * @param string $attribute (Required) The name of the attribute to describe. Available attribute names: productCodes, kernel, ramdisk, launchPermisson, blockDeviceMapping
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * The DescribeImages operation returns information about AMIs, AKIs, and ARIs available to the
    	 * user. Information returned includes image type, product codes, architecture, and kernel and RAM
    	 * disk IDs. Images available to the user include public images available for any user to launch,
    	 * private images owned by the user making the request, and private images owned by other users
    	 * for which the user has explicit launch permissions.
    	 *  
    	 * Launch permissions fall into three categories:
    	 * 
    	 * 
      *
    • Public: The owner of the AMI granted launch permissions for the AMI to the * all group. All users have launch permissions for these AMIs.
    • *
    • Explicit: The owner of the AMI granted launch permissions to a specific * user.
    • *
    • Implicit: A user has implicit launch permissions for all AMIs he or she * owns.
    • *
    * * The list of AMIs returned can be modified by specifying AMI IDs, AMI owners, or users with * launch permissions. If no options are specified, Amazon EC2 returns all AMIs for which the user * has launch permissions. * * If you specify one or more AMI IDs, only AMIs that have the specified IDs are returned. If you * specify an invalid AMI ID, a fault is returned. If you specify an AMI ID for which you do not * have access, it will not be included in the returned results. * * If you specify one or more AMI owners, only AMIs from the specified owners and for which you * have access are returned. The results can include the account IDs of the specified owners, * amazon for AMIs owned by Amazon or self for AMIs that you own. * * If you specify a list of executable users, only users that have launch permissions for the AMIs * are returned. You can specify account IDs (if you own the AMI(s)), self for AMIs for which you * own or have explicit permissions, or all for public AMIs. * *

    * Deregistered images are included in the returned results for an unspecified interval after * deregistration. *

    * * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • ImageId - string|array - Optional - An optional list of the AMI IDs to describe. If not specified, all AMIs will be described. Pass a string for a single value, or an indexed array for multiple values.
    • *
    • Owner - string|array - Optional - The optional list of owners for the described AMIs. The IDs amazon, self, and explicit can be used to include AMIs owned by Amazon, AMIs owned by the user, and AMIs for which the user has explicit launch permissions, respectively. Pass a string for a single value, or an indexed array for multiple values.
    • *
    • ExecutableBy - string|array - Optional - The optional list of users with explicit launch permissions for the described AMIs. The user ID can be a user's account ID, 'self' to return AMIs for which the sender of the request has explicit launch permissions, or 'all' to return AMIs with public launch permissions. Pass a string for a single value, or an indexed array for multiple values.
    • *
    • Filter - array - Optional - A list of filters used to match properties for Images. For a complete reference to the available filter keys for this operation, see the Amazon EC2 API reference.
        *
      • x - array - Optional - This represents a simple array index.
          *
        • Name - string - Optional - Specifies the name of the filter.
        • *
        • Value - string|array - Optional - Contains one or more values for the filter. Pass a string for a single value, or an indexed array for multiple values.
        • *
      • *
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Returns information about an attribute of an instance. Only one attribute can be specified per
    	 * call.
    	 *
    	 * @param string $instance_id (Required) The ID of the instance whose instance attribute is being described.
    	 * @param string $attribute (Required) The name of the attribute to describe. Available attribute names: instanceType, kernel, ramdisk, userData, disableApiTermination, instanceInitiatedShutdownBehavior, rootDeviceName, blockDeviceMapping [Allowed values: instanceType, kernel, ramdisk, userData, disableApiTermination, instanceInitiatedShutdownBehavior, rootDeviceName, blockDeviceMapping, productCodes, sourceDestCheck, groupSet, ebsOptimized]
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Describes the status of an Amazon Elastic Compute Cloud (Amazon EC2) instance. Instance status
    	 * provides information about two types of scheduled events for an instance that may require your
    	 * attention:
    	 * 
    	 * 
      *
    • Scheduled Reboot: When Amazon EC2 determines that an instance must be rebooted, the * instance's status will return one of two event codes: system-reboot or * instance-reboot. System reboot commonly occurs if certain maintenance or upgrade * operations require a reboot of the underlying host that supports an instance. Instance reboot * commonly occurs if the instance must be rebooted, rather than the underlying host. Rebooting * events include a scheduled start and end time.
    • *
    • Scheduled Retirement: When Amazon EC2 determines that an instance must be shut down, the * instance's status will return an event code called instance-retirement. Retirement * commonly occurs when the underlying host is degraded and must be replaced. Retirement events * include a scheduled start and end time. You're also notified by email if one of your instances * is set to retiring. The email message indicates when your instance will be permanently retired.
    • *
    * * If your instance is permanently retired, it will not be restarted. You can avoid retirement by * manually restarting your instance when its event code is instance-retirement. This * ensures that your instance is started on a healthy host. * * DescribeInstanceStatus returns information only for instances in the running * state. * * You can filter the results to return information only about instances that match criteria you * specify. For example, you could get information about instances in a specific Availability * Zone. You can specify multiple values for a filter (e.g., more than one Availability Zone). An * instance must match at least one of the specified values for it to be included in the results. * * You can specify multiple filters. An instance must match all the filters for it to be included * in the results. If there's no match, no special message is returned; the response is simply * empty. * * You can use wildcards with the filter values: * matches zero or more characters, * and ? matches exactly one character. You can escape special characters using a * backslash before the character. For example, a value of \*amazon\?\\ searches for * the literal string *amazon?\. * * The following filters are available: * *
      *
    • availability-zone - Filter on an instance's availability zone.
    • *
    • instance-state-name - Filter on the intended state of the instance, e.g., * running.
    • *
    • instance-state-code - Filter on the intended state code of the instance, e.g., * 16.
    • *
    * * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • InstanceId - string|array - Optional - The list of instance IDs. If not specified, all instances are described. Pass a string for a single value, or an indexed array for multiple values.
    • *
    • Filter - array - Optional - The list of filters to limit returned results.
        *
      • x - array - Optional - This represents a simple array index.
          *
        • Name - string - Optional - Specifies the name of the filter.
        • *
        • Value - string|array - Optional - Contains one or more values for the filter. Pass a string for a single value, or an indexed array for multiple values.
        • *
      • *
    • *
    • NextToken - string - Optional - A string specifying the next paginated set of results to return.
    • *
    • MaxResults - integer - Optional - The maximum number of paginated instance items per response.
    • *
    • IncludeAllInstances - boolean - Optional -
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * The DescribeInstances operation returns information about instances that you own.
    	 *  
    	 * If you specify one or more instance IDs, Amazon EC2 returns information for those instances. If
    	 * you do not specify instance IDs, Amazon EC2 returns information for all relevant instances. If
    	 * you specify an invalid instance ID, a fault is returned. If you specify an instance that you do
    	 * not own, it will not be included in the returned results.
    	 *  
    	 * Recently terminated instances might appear in the returned results. This interval is usually
    	 * less than one hour.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • InstanceId - string|array - Optional - An optional list of the instances to describe. Pass a string for a single value, or an indexed array for multiple values.
    • *
    • Filter - array - Optional - A list of filters used to match properties for Instances. For a complete reference to the available filter keys for this operation, see the Amazon EC2 API reference.
        *
      • x - array - Optional - This represents a simple array index.
          *
        • Name - string - Optional - Specifies the name of the filter.
        • *
        • Value - string|array - Optional - Contains one or more values for the filter. Pass a string for a single value, or an indexed array for multiple values.
        • *
      • *
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Gives you information about your Internet gateways. You can filter the results to return
    	 * information only about Internet gateways that match criteria you specify. For example, you
    	 * could get information only about gateways with particular tags. The Internet gateway must match
    	 * at least one of the specified values for it to be included in the results.
    	 *  
    	 * You can specify multiple filters (e.g., the Internet gateway is attached to a particular VPC
    	 * and is tagged with a particular value). The result includes information for a particular
    	 * Internet gateway only if the gateway matches all your filters. If there's no match, no special
    	 * message is returned; the response is simply empty.
    	 *  
    	 * You can use wildcards with the filter values: an asterisk matches zero or more characters, and
    	 * ? matches exactly one character. You can escape special characters using a
    	 * backslash before the character. For example, a value of \*amazon\?\\ searches for
    	 * the literal string *amazon?\.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • InternetGatewayId - string|array - Optional - One or more Internet gateway IDs. Pass a string for a single value, or an indexed array for multiple values.
    • *
    • Filter - array - Optional - A list of filters used to match properties for Internet Gateways. For a complete reference to the available filter keys for this operation, see the Amazon EC2 API reference.
        *
      • x - array - Optional - This represents a simple array index.
          *
        • Name - string - Optional - Specifies the name of the filter.
        • *
        • Value - string|array - Optional - Contains one or more values for the filter. Pass a string for a single value, or an indexed array for multiple values.
        • *
      • *
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * The DescribeKeyPairs operation returns information about key pairs available to you. If you
    	 * specify key pairs, information about those key pairs is returned. Otherwise, information for
    	 * all registered key pairs is returned.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • KeyName - string|array - Optional - The optional list of key pair names to describe. Pass a string for a single value, or an indexed array for multiple values.
    • *
    • Filter - array - Optional - A list of filters used to match properties for KeyPairs. For a complete reference to the available filter keys for this operation, see the Amazon EC2 API reference.
        *
      • x - array - Optional - This represents a simple array index.
          *
        • Name - string - Optional - Specifies the name of the filter.
        • *
        • Value - string|array - Optional - Contains one or more values for the filter. Pass a string for a single value, or an indexed array for multiple values.
        • *
      • *
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Provides details of a user's registered licenses. Zero or more IDs may be specified on the
    	 * call. When one or more license IDs are specified, only data for the specified IDs are returned.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • LicenseId - string|array - Optional - Specifies the license registration for which details are to be returned. Pass a string for a single value, or an indexed array for multiple values.
    • *
    • Filter - array - Optional - A list of filters used to match properties for Licenses. For a complete reference to the available filter keys for this operation, see the Amazon EC2 API reference.
        *
      • x - array - Optional - This represents a simple array index.
          *
        • Name - string - Optional - Specifies the name of the filter.
        • *
        • Value - string|array - Optional - Contains one or more values for the filter. Pass a string for a single value, or an indexed array for multiple values.
        • *
      • *
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Gives you information about the network ACLs in your VPC. You can filter the results to return
    	 * information only about ACLs that match criteria you specify. For example, you could get
    	 * information only the ACL associated with a particular subnet. The ACL must match at least one
    	 * of the specified values for it to be included in the results.
    	 *  
    	 * You can specify multiple filters (e.g., the ACL is associated with a particular subnet and has
    	 * an egress entry that denies traffic to a particular port). The result includes information for
    	 * a particular ACL only if it matches all your filters. If there's no match, no special message
    	 * is returned; the response is simply empty.
    	 *  
    	 * You can use wildcards with the filter values: an asterisk matches zero or more characters, and
    	 * ? matches exactly one character. You can escape special characters using a
    	 * backslash before the character. For example, a value of \*amazon\?\\ searches for
    	 * the literal string *amazon?\.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • NetworkAclId - string|array - Optional - One or more network ACL IDs. Pass a string for a single value, or an indexed array for multiple values.
    • *
    • Filter - array - Optional - A list of filters used to match properties for Network ACLs. For a complete reference to the available filter keys for this operation, see the Amazon EC2 API reference.
        *
      • x - array - Optional - This represents a simple array index.
          *
        • Name - string - Optional - Specifies the name of the filter.
        • *
        • Value - string|array - Optional - Contains one or more values for the filter. Pass a string for a single value, or an indexed array for multiple values.
        • *
      • *
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * 
    	 *
    	 * @param string $network_interface_id (Required) 
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • Description - string - Optional -
    • *
    • SourceDestCheck - string - Optional -
    • *
    • GroupSet - string - Optional -
    • *
    • Attachment - string - Optional -
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * 
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • NetworkInterfaceId - string|array - Optional - Pass a string for a single value, or an indexed array for multiple values.
    • *
    • Filter - array - Optional - A filter used to limit results when describing tags. Multiple values can be specified per filter. A tag must match at least one of the specified values for it to be returned from an operation. Wildcards can be included in filter values; * specifies that zero or more characters must match, and ? specifies that exactly one character must match. Use a backslash to escape special characters. For example, a filter value of \*amazon\?\\ specifies the literal string *amazon?\.
        *
      • x - array - Optional - This represents a simple array index.
          *
        • Name - string - Optional - Specifies the name of the filter.
        • *
        • Value - string|array - Optional - Contains one or more values for the filter. Pass a string for a single value, or an indexed array for multiple values.
        • *
      • *
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Returns information about one or more PlacementGroup instances in a user's
    	 * account.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • GroupName - string|array - Optional - The name of the PlacementGroup. Pass a string for a single value, or an indexed array for multiple values.
    • *
    • Filter - array - Optional - A list of filters used to match properties for Placement Groups. For a complete reference to the available filter keys for this operation, see the Amazon EC2 API reference.
        *
      • x - array - Optional - This represents a simple array index.
          *
        • Name - string - Optional - Specifies the name of the filter.
        • *
        • Value - string|array - Optional - Contains one or more values for the filter. Pass a string for a single value, or an indexed array for multiple values.
        • *
      • *
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * The DescribeRegions operation describes regions zones that are currently available to the
    	 * account.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • RegionName - string|array - Optional - The optional list of regions to describe. Pass a string for a single value, or an indexed array for multiple values.
    • *
    • Filter - array - Optional - A list of filters used to match properties for Regions. For a complete reference to the available filter keys for this operation, see the Amazon EC2 API reference.
        *
      • x - array - Optional - This represents a simple array index.
          *
        • Name - string - Optional - Specifies the name of the filter.
        • *
        • Value - string|array - Optional - Contains one or more values for the filter. Pass a string for a single value, or an indexed array for multiple values.
        • *
      • *
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * The DescribeReservedInstances operation describes Reserved Instances that were purchased for
    	 * use with your account.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • ReservedInstancesId - string|array - Optional - The optional list of Reserved Instance IDs to describe. Pass a string for a single value, or an indexed array for multiple values.
    • *
    • Filter - array - Optional - A list of filters used to match properties for ReservedInstances. For a complete reference to the available filter keys for this operation, see the Amazon EC2 API reference.
        *
      • x - array - Optional - This represents a simple array index.
          *
        • Name - string - Optional - Specifies the name of the filter.
        • *
        • Value - string|array - Optional - Contains one or more values for the filter. Pass a string for a single value, or an indexed array for multiple values.
        • *
      • *
    • *
    • OfferingType - string - Optional - The Reserved Instance offering type.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * 
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • ReservedInstancesId - string - Optional -
    • *
    • ReservedInstancesListingId - string - Optional -
    • *
    • Filters - array - Optional - A filter used to limit results when describing tags. Multiple values can be specified per filter. A tag must match at least one of the specified values for it to be returned from an operation. Wildcards can be included in filter values; * specifies that zero or more characters must match, and ? specifies that exactly one character must match. Use a backslash to escape special characters. For example, a filter value of \*amazon\?\\ specifies the literal string *amazon?\.
        *
      • x - array - Optional - This represents a simple array index.
          *
        • Name - string - Optional - Specifies the name of the filter.
        • *
        • Value - string|array - Optional - Contains one or more values for the filter. Pass a string for a single value, or an indexed array for multiple values.
        • *
      • *
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * The DescribeReservedInstancesOfferings operation describes Reserved Instance offerings that are
    	 * available for purchase. With Amazon EC2 Reserved Instances, you purchase the right to launch
    	 * Amazon EC2 instances for a period of time (without getting insufficient capacity errors) and
    	 * pay a lower usage rate for the actual time used.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • ReservedInstancesOfferingId - string|array - Optional - An optional list of the unique IDs of the Reserved Instance offerings to describe. Pass a string for a single value, or an indexed array for multiple values.
    • *
    • InstanceType - string - Optional - The instance type on which the Reserved Instance can be used. [Allowed values: t1.micro, m1.small, m1.medium, m1.large, m1.xlarge, m2.xlarge, m2.2xlarge, m2.4xlarge, m3.xlarge, m3.2xlarge, c1.medium, c1.xlarge, hi1.4xlarge, hs1.8xlarge, cc1.4xlarge, cc2.8xlarge, cg1.4xlarge]
    • *
    • AvailabilityZone - string - Optional - The Availability Zone in which the Reserved Instance can be used.
    • *
    • ProductDescription - string - Optional - The Reserved Instance product description.
    • *
    • Filter - array - Optional - A list of filters used to match properties for ReservedInstancesOfferings. For a complete reference to the available filter keys for this operation, see the Amazon EC2 API reference.
        *
      • x - array - Optional - This represents a simple array index.
          *
        • Name - string - Optional - Specifies the name of the filter.
        • *
        • Value - string|array - Optional - Contains one or more values for the filter. Pass a string for a single value, or an indexed array for multiple values.
        • *
      • *
    • *
    • InstanceTenancy - string - Optional - The tenancy of the Reserved Instance offering. A Reserved Instance with tenancy of dedicated will run on single-tenant hardware and can only be launched within a VPC.
    • *
    • OfferingType - string - Optional - The Reserved Instance offering type.
    • *
    • NextToken - string - Optional -
    • *
    • MaxResults - integer - Optional -
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Gives you information about your route tables. You can filter the results to return information
    	 * only about tables that match criteria you specify. For example, you could get information only
    	 * about a table associated with a particular subnet. You can specify multiple values for the
    	 * filter. The table must match at least one of the specified values for it to be included in the
    	 * results.
    	 *  
    	 * You can specify multiple filters (e.g., the table has a particular route, and is associated
    	 * with a particular subnet). The result includes information for a particular table only if it
    	 * matches all your filters. If there's no match, no special message is returned; the response is
    	 * simply empty.
    	 *  
    	 * You can use wildcards with the filter values: an asterisk matches zero or more characters, and
    	 * ? matches exactly one character. You can escape special characters using a
    	 * backslash before the character. For example, a value of \*amazon\?\\ searches for
    	 * the literal string *amazon?\.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • RouteTableId - string|array - Optional - One or more route table IDs. Pass a string for a single value, or an indexed array for multiple values.
    • *
    • Filter - array - Optional - A list of filters used to match properties for Route Tables. For a complete reference to the available filter keys for this operation, see the Amazon EC2 API reference.
        *
      • x - array - Optional - This represents a simple array index.
          *
        • Name - string - Optional - Specifies the name of the filter.
        • *
        • Value - string|array - Optional - Contains one or more values for the filter. Pass a string for a single value, or an indexed array for multiple values.
        • *
      • *
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * The DescribeSecurityGroups operation returns information about security groups that you own.
    	 *  
    	 * If you specify security group names, information about those security group is returned.
    	 * Otherwise, information for all security group is returned. If you specify a group that does not
    	 * exist, a fault is returned.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • GroupName - string|array - Optional - The optional list of Amazon EC2 security groups to describe. Pass a string for a single value, or an indexed array for multiple values.
    • *
    • GroupId - string|array - Optional - Pass a string for a single value, or an indexed array for multiple values.
    • *
    • Filter - array - Optional - A list of filters used to match properties for SecurityGroups. For a complete reference to the available filter keys for this operation, see the Amazon EC2 API reference.
        *
      • x - array - Optional - This represents a simple array index.
          *
        • Name - string - Optional - Specifies the name of the filter.
        • *
        • Value - string|array - Optional - Contains one or more values for the filter. Pass a string for a single value, or an indexed array for multiple values.
        • *
      • *
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Returns information about an attribute of a snapshot. Only one attribute can be specified per
    	 * call.
    	 *
    	 * @param string $snapshot_id (Required) The ID of the EBS snapshot whose attribute is being described.
    	 * @param string $attribute (Required) The name of the EBS attribute to describe. Available attribute names: createVolumePermission [Allowed values: productCodes, createVolumePermission]
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Returns information about the Amazon EBS snapshots available to you. Snapshots available to you
    	 * include public snapshots available for any AWS account to launch, private snapshots you own,
    	 * and private snapshots owned by another AWS account but for which you've been given explicit
    	 * create volume permissions.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • SnapshotId - string|array - Optional - The optional list of EBS snapshot IDs to describe. Pass a string for a single value, or an indexed array for multiple values.
    • *
    • Owner - string|array - Optional - The optional list of EBS snapshot owners. Pass a string for a single value, or an indexed array for multiple values.
    • *
    • RestorableBy - string|array - Optional - The optional list of users who have permission to create volumes from the described EBS snapshots. Pass a string for a single value, or an indexed array for multiple values.
    • *
    • Filter - array - Optional - A list of filters used to match properties for Snapshots. For a complete reference to the available filter keys for this operation, see the Amazon EC2 API reference.
        *
      • x - array - Optional - This represents a simple array index.
          *
        • Name - string - Optional - Specifies the name of the filter.
        • *
        • Value - string|array - Optional - Contains one or more values for the filter. Pass a string for a single value, or an indexed array for multiple values.
        • *
      • *
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Describes the data feed for Spot Instances.
    	 *  
    	 * For conceptual information about Spot Instances, refer to the Amazon Elastic Compute
    	 * Cloud Developer Guide or Amazon Elastic Compute Cloud
    	 * User Guide.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Describes Spot Instance requests. Spot Instances are instances that Amazon EC2 starts on your
    	 * behalf when the maximum price that you specify exceeds the current Spot Price. Amazon EC2
    	 * periodically sets the Spot Price based on available Spot Instance capacity and current spot
    	 * instance requests. For conceptual information about Spot Instances, refer to the Amazon Elastic Compute
    	 * Cloud Developer Guide or Amazon Elastic Compute Cloud
    	 * User Guide.
    	 *  
    	 * You can filter the results to return information only about Spot Instance requests that match
    	 * criteria you specify. For example, you could get information about requests where the Spot
    	 * Price you specified is a certain value (you can't use greater than or less than comparison, but
    	 * you can use * and ? wildcards). You can specify multiple values for a
    	 * filter. A Spot Instance request must match at least one of the specified values for it to be
    	 * included in the results.
    	 *  
    	 * You can specify multiple filters (e.g., the Spot Price is equal to a particular value, and the
    	 * instance type is m1.small). The result includes information for a particular
    	 * request only if it matches all your filters. If there's no match, no special message is
    	 * returned; the response is simply empty.
    	 *  
    	 * You can use wildcards with the filter values: an asterisk matches zero or more characters, and
    	 * ? matches exactly one character. You can escape special characters using a
    	 * backslash before the character. For example, a value of \*amazon\?\\ searches for
    	 * the literal string *amazon?\.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • SpotInstanceRequestId - string|array - Optional - The ID of the request. Pass a string for a single value, or an indexed array for multiple values.
    • *
    • Filter - array - Optional - A list of filters used to match properties for SpotInstances. For a complete reference to the available filter keys for this operation, see the Amazon EC2 API reference.
        *
      • x - array - Optional - This represents a simple array index.
          *
        • Name - string - Optional - Specifies the name of the filter.
        • *
        • Value - string|array - Optional - Contains one or more values for the filter. Pass a string for a single value, or an indexed array for multiple values.
        • *
      • *
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Describes the Spot Price history.
    	 *  
    	 * Spot Instances are instances that Amazon EC2 starts on your behalf when the maximum price that
    	 * you specify exceeds the current Spot Price. Amazon EC2 periodically sets the Spot Price based
    	 * on available Spot Instance capacity and current spot instance requests.
    	 *  
    	 * For conceptual information about Spot Instances, refer to the Amazon Elastic Compute
    	 * Cloud Developer Guide or Amazon Elastic Compute Cloud
    	 * User Guide.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • StartTime - string - Optional - The start date and time of the Spot Instance price history data. May be passed as a number of seconds since UNIX Epoch, or any string compatible with .
    • *
    • EndTime - string - Optional - The end date and time of the Spot Instance price history data. May be passed as a number of seconds since UNIX Epoch, or any string compatible with .
    • *
    • InstanceType - string|array - Optional - Specifies the instance type to return. Pass a string for a single value, or an indexed array for multiple values.
    • *
    • ProductDescription - string|array - Optional - The description of the AMI. Pass a string for a single value, or an indexed array for multiple values.
    • *
    • Filter - array - Optional - A list of filters used to match properties for SpotPriceHistory. For a complete reference to the available filter keys for this operation, see the Amazon EC2 API reference.
        *
      • x - array - Optional - This represents a simple array index.
          *
        • Name - string - Optional - Specifies the name of the filter.
        • *
        • Value - string|array - Optional - Contains one or more values for the filter. Pass a string for a single value, or an indexed array for multiple values.
        • *
      • *
    • *
    • AvailabilityZone - string - Optional - Filters the results by availability zone (ex: 'us-east-1a').
    • *
    • MaxResults - integer - Optional - Specifies the number of rows to return.
    • *
    • NextToken - string - Optional - Specifies the next set of rows to return.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Gives you information about your subnets. You can filter the results to return information only
    	 * about subnets that match criteria you specify.
    	 *  
    	 * For example, you could ask to get information about a particular subnet (or all) only if the
    	 * subnet's state is available. You can specify multiple filters (e.g., the subnet is in a
    	 * particular VPC, and the subnet's state is available).
    	 *  
    	 * The result includes information for a particular subnet only if the subnet matches all your
    	 * filters. If there's no match, no special message is returned; the response is simply empty. The
    	 * following table shows the available filters.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • SubnetId - string|array - Optional - A set of one or more subnet IDs. Pass a string for a single value, or an indexed array for multiple values.
    • *
    • Filter - array - Optional - A list of filters used to match properties for Subnets. For a complete reference to the available filter keys for this operation, see the Amazon EC2 API reference.
        *
      • x - array - Optional - This represents a simple array index.
          *
        • Name - string - Optional - Specifies the name of the filter.
        • *
        • Value - string|array - Optional - Contains one or more values for the filter. Pass a string for a single value, or an indexed array for multiple values.
        • *
      • *
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Describes the tags for the specified resources.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • Filter - array - Optional - A list of filters used to match properties for tags.
        *
      • x - array - Optional - This represents a simple array index.
          *
        • Name - string - Optional - Specifies the name of the filter.
        • *
        • Value - string|array - Optional - Contains one or more values for the filter. Pass a string for a single value, or an indexed array for multiple values.
        • *
      • *
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * 
    	 *
    	 * @param string $volume_id (Required) 
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • Attribute - string - Optional - [Allowed values: autoEnableIO, productCodes]
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Describes the status of a volume.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • VolumeId - string|array - Optional - Pass a string for a single value, or an indexed array for multiple values.
    • *
    • Filter - array - Optional - A filter used to limit results when describing tags. Multiple values can be specified per filter. A tag must match at least one of the specified values for it to be returned from an operation. Wildcards can be included in filter values; * specifies that zero or more characters must match, and ? specifies that exactly one character must match. Use a backslash to escape special characters. For example, a filter value of \*amazon\?\\ specifies the literal string *amazon?\.
        *
      • x - array - Optional - This represents a simple array index.
          *
        • Name - string - Optional - Specifies the name of the filter.
        • *
        • Value - string|array - Optional - Contains one or more values for the filter. Pass a string for a single value, or an indexed array for multiple values.
        • *
      • *
    • *
    • NextToken - string - Optional -
    • *
    • MaxResults - integer - Optional -
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Describes the status of the indicated volume or, in lieu of any specified, all volumes
    	 * belonging to the caller. Volumes that have been deleted are not described.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • VolumeId - string|array - Optional - The optional list of EBS volumes to describe. Pass a string for a single value, or an indexed array for multiple values.
    • *
    • Filter - array - Optional - A list of filters used to match properties for Volumes. For a complete reference to the available filter keys for this operation, see the Amazon EC2 API reference.
        *
      • x - array - Optional - This represents a simple array index.
          *
        • Name - string - Optional - Specifies the name of the filter.
        • *
        • Value - string|array - Optional - Contains one or more values for the filter. Pass a string for a single value, or an indexed array for multiple values.
        • *
      • *
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * 
    	 *
    	 * @param string $vpc_id (Required) 
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • Attribute - string - Optional - [Allowed values: enableDnsSupport, enableDnsHostnames]
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Gives you information about your VPCs. You can filter the results to return information only
    	 * about VPCs that match criteria you specify.
    	 *  
    	 * For example, you could ask to get information about a particular VPC or VPCs (or all your VPCs)
    	 * only if the VPC's state is available. You can specify multiple filters (e.g., the VPC uses one
    	 * of several sets of DHCP options, and the VPC's state is available). The result includes
    	 * information for a particular VPC only if the VPC matches all your filters.
    	 *  
    	 * If there's no match, no special message is returned; the response is simply empty. The
    	 * following table shows the available filters.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • VpcId - string|array - Optional - The ID of a VPC you want information about. Pass a string for a single value, or an indexed array for multiple values.
    • *
    • Filter - array - Optional - A list of filters used to match properties for VPCs. For a complete reference to the available filter keys for this operation, see the Amazon EC2 API reference.
        *
      • x - array - Optional - This represents a simple array index.
          *
        • Name - string - Optional - Specifies the name of the filter.
        • *
        • Value - string|array - Optional - Contains one or more values for the filter. Pass a string for a single value, or an indexed array for multiple values.
        • *
      • *
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Gives you information about your VPN connections.
    	 * 
    	 * 

    * We strongly recommend you use HTTPS when calling this operation because the response contains * sensitive cryptographic information for configuring your customer gateway. * * You can filter the results to return information only about VPN connections that match criteria * you specify. For example, you could ask to get information about a particular VPN connection * (or all) only if the VPN's state is pending or available. You can specify multiple filters * (e.g., the VPN connection is associated with a particular VPN gateway, and the gateway's state * is pending or available). The result includes information for a particular VPN connection only * if the VPN connection matches all your filters. If there's no match, no special message is * returned; the response is simply empty. The following table shows the available filters. * * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • VpnConnectionId - string|array - Optional - A VPN connection ID. More than one may be specified per request. Pass a string for a single value, or an indexed array for multiple values.
    • *
    • Filter - array - Optional - A list of filters used to match properties for VPN Connections. For a complete reference to the available filter keys for this operation, see the Amazon EC2 API reference.
        *
      • x - array - Optional - This represents a simple array index.
          *
        • Name - string - Optional - Specifies the name of the filter.
        • *
        • Value - string|array - Optional - Contains one or more values for the filter. Pass a string for a single value, or an indexed array for multiple values.
        • *
      • *
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Gives you information about your VPN gateways. You can filter the results to return information
    	 * only about VPN gateways that match criteria you specify.
    	 *  
    	 * For example, you could ask to get information about a particular VPN gateway (or all) only if
    	 * the gateway's state is pending or available. You can specify multiple filters (e.g., the VPN
    	 * gateway is in a particular Availability Zone and the gateway's state is pending or available).
    	 *  
    	 * The result includes information for a particular VPN gateway only if the gateway matches all
    	 * your filters. If there's no match, no special message is returned; the response is simply
    	 * empty. The following table shows the available filters.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • VpnGatewayId - string|array - Optional - A list of filters used to match properties for VPN Gateways. For a complete reference to the available filter keys for this operation, see the Amazon EC2 API reference. Pass a string for a single value, or an indexed array for multiple values.
    • *
    • Filter - array - Optional - A list of filters used to match properties for VPN Gateways. For a complete reference to the available filter keys for this operation, see the Amazon EC2 API reference.
        *
      • x - array - Optional - This represents a simple array index.
          *
        • Name - string - Optional - Specifies the name of the filter.
        • *
        • Value - string|array - Optional - Contains one or more values for the filter. Pass a string for a single value, or an indexed array for multiple values.
        • *
      • *
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Detaches an Internet gateway from a VPC, disabling connectivity between the Internet and the
    	 * VPC. The VPC must not contain any running instances with elastic IP addresses. For more
    	 * information about your VPC and Internet gateway, go to Amazon Virtual Private Cloud User Guide.
    	 *  
    	 * For more information about Amazon Virtual Private Cloud and Internet gateways, go to the Amazon
    	 * Virtual Private Cloud User Guide.
    	 *
    	 * @param string $internet_gateway_id (Required) The ID of the Internet gateway to detach.
    	 * @param string $vpc_id (Required) The ID of the VPC.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * 
    	 *
    	 * @param string $attachment_id (Required) 
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • Force - boolean - Optional -
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Detach a previously attached volume from a running instance.
    	 *
    	 * @param string $volume_id (Required) The ID of the volume to detach.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • InstanceId - string - Optional - The ID of the instance from which to detach the the specified volume.
    • *
    • Device - string - Optional - The device name to which the volume is attached on the specified instance.
    • *
    • Force - boolean - Optional - Forces detachment if the previous detachment attempt did not occur cleanly (logging into an instance, unmounting the volume, and detaching normally). This option can lead to data loss or a corrupted file system. Use this option only as a last resort to detach a volume from a failed instance. The instance will not have an opportunity to flush file system caches nor file system meta data. If you use this option, you must perform file system check and repair procedures.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Detaches a VPN gateway from a VPC. You do this if you're planning to turn off the VPC and not
    	 * use it anymore. You can confirm a VPN gateway has been completely detached from a VPC by
    	 * describing the VPN gateway (any attachments to the VPN gateway are also described).
    	 *  
    	 * You must wait for the attachment's state to switch to detached before you can delete the VPC or
    	 * attach a different VPC to the VPN gateway.
    	 *
    	 * @param string $vpn_gateway_id (Required) The ID of the VPN gateway to detach from the VPC.
    	 * @param string $vpc_id (Required) The ID of the VPC to detach the VPN gateway from.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * 
    	 *
    	 * @param string $route_table_id (Required) 
    	 * @param string $gateway_id (Required) 
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * The DisassociateAddress operation disassociates the specified elastic IP address from the
    	 * instance to which it is assigned. This is an idempotent operation. If you enter it more than
    	 * once, Amazon EC2 does not return an error.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • PublicIp - string - Optional - The elastic IP address that you are disassociating from the instance.
    • *
    • AssociationId - string - Optional - Association ID corresponding to the VPC elastic IP address you want to disassociate.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Disassociates a subnet from a route table.
    	 *  
    	 * After you perform this action, the subnet no longer uses the routes in the route table. Instead
    	 * it uses the routes in the VPC's main route table. For more information about route tables, go
    	 * to Route
    	 * Tables in the Amazon Virtual Private Cloud User Guide.
    	 *
    	 * @param string $association_id (Required) The association ID representing the current association between the route table and subnet.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * 
    	 *
    	 * @param string $route_table_id (Required) 
    	 * @param string $gateway_id (Required) 
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Enable IO on the volume after an event has occured.
    	 *
    	 * @param string $volume_id (Required) 
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * The GetConsoleOutput operation retrieves console output for the specified instance.
    	 *
    	 * Instance console output is buffered and posted shortly after instance boot, reboot, and
    	 * termination. Amazon EC2 preserves the most recent 64 KB output which will be available for at least
    	 * one hour after the most recent post.
    	 *
    	 * @param string $instance_id (Required) The ID of the instance for which you want console output.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This is useful for manually-managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. The value of output is automatically Base64-decoded. */
    	/**
    	 * Retrieves the encrypted administrator password for the instances running Windows.
    	 *
    	 * The Windows password is only generated the first time an AMI is launched. It is not generated for
    	 * rebundled AMIs or after the password is changed on an instance. The password is encrypted using the
    	 * key pair that you provided.
    	 *
    	 * @param string $instance_id (Required) The ID of the instance for which you want the Windows administrator password.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • DecryptPasswordWithKey - string - Optional - Enables the decryption of the Administrator password for the given Microsoft Windows instance. Specifies the RSA private key that is associated with the keypair ID which was used to launch the Microsoft Windows instance.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This is useful for manually-managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * 
    	 *
    	 * @param string $platform (Required) 
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • Description - string - Optional -
    • *
    • LaunchSpecification - array - Optional -
        *
      • x - array - Optional - This represents a simple array index.
          *
        • Architecture - string - Optional -
        • *
        • SecurityGroup - string|array - Optional - Pass a string for a single value, or an indexed array for multiple values.
        • *
        • AdditionalInfo - string - Optional -
        • *
        • UserData - string - Optional -
        • *
        • InstanceType - string - Optional - [Allowed values: t1.micro, m1.small, m1.medium, m1.large, m1.xlarge, m2.xlarge, m2.2xlarge, m2.4xlarge, m3.xlarge, m3.2xlarge, c1.medium, c1.xlarge, hi1.4xlarge, hs1.8xlarge, cc1.4xlarge, cc2.8xlarge, cg1.4xlarge]
        • *
        • Placement - array - Optional - Describes where an Amazon EC2 instance is running within an Amazon EC2 region.
            *
          • x - array - Optional - This represents a simple array index.
              *
            • AvailabilityZone - string - Optional - The availability zone in which an Amazon EC2 instance runs.
            • *
            • GroupName - string - Optional - The name of the PlacementGroup in which an Amazon EC2 instance runs. Placement groups are primarily used for launching High Performance Computing instances in the same group to ensure fast connection speeds.
            • *
            • Tenancy - string - Optional - The allowed tenancy of instances launched into the VPC. A value of default means instances can be launched with any tenancy; a value of dedicated means all instances launched into the VPC will be launched as dedicated tenancy regardless of the tenancy assigned to the instance at launch.
            • *
          • *
        • *
        • BlockDeviceMapping - array - Optional - The BlockDeviceMappingItemType data type.
            *
          • x - array - Optional - This represents a simple array index.
              *
            • VirtualName - string - Optional - Specifies the virtual device name.
            • *
            • DeviceName - string - Optional - Specifies the device name (e.g., /dev/sdh).
            • *
            • Ebs - array - Optional - Specifies parameters used to automatically setup Amazon EBS volumes when the instance is launched.
                *
              • x - array - Optional - This represents a simple array index.
                  *
                • SnapshotId - string - Optional - The ID of the snapshot from which the volume will be created.
                • *
                • VolumeSize - integer - Optional - The size of the volume, in gigabytes.
                • *
                • DeleteOnTermination - boolean - Optional - Specifies whether the Amazon EBS volume is deleted on instance termination.
                • *
                • VolumeType - string - Optional - [Allowed values: standard, io1]
                • *
                • Iops - integer - Optional -
                • *
              • *
            • *
            • NoDevice - string - Optional - Specifies the device name to suppress during instance launch.
            • *
          • *
        • *
        • Monitoring - boolean - Optional -
        • *
        • SubnetId - string - Optional -
        • *
        • DisableApiTermination - boolean - Optional -
        • *
        • InstanceInitiatedShutdownBehavior - string - Optional -
        • *
        • PrivateIpAddress - string - Optional -
        • *
      • *
    • *
    • DiskImage - array - Optional -
        *
      • x - array - Optional - This represents a simple array index.
          *
        • Image - array - Optional -
            *
          • x - array - Optional - This represents a simple array index.
              *
            • Format - string - Required -
            • *
            • Bytes - long - Required -
            • *
            • ImportManifestUrl - string - Required -
            • *
          • *
        • *
        • Description - string - Optional -
        • *
        • Volume - array - Optional -
            *
          • x - array - Optional - This represents a simple array index.
              *
            • Size - long - Required -
            • *
          • *
        • *
      • *
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Imports the public key from an RSA key pair created with a third-party tool. This operation differs
    	 * from CreateKeyPair as the private key is never transferred between the caller and AWS servers.
    	 *
    	 * RSA key pairs are easily created on Microsoft Windows and Linux OS systems using the ssh-keygen
    	 * command line tool provided with the standard OpenSSH installation. Standard library support for RSA
    	 * key pair creation is also available for Java, Ruby, Python, and many other programming languages.
    	 *
    	 * The following formats are supported:
    	 *
    	 * 
      *
    • OpenSSH public key format.
    • *
    • Base64 encoded DER format.
    • *
    • SSH public key file format as specified in RFC 4716.
    • *
    * * @param string $key_name (Required) The unique name for the key pair. * @param string $public_key_material (Required) The public key portion of the key pair being imported. * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This is useful for manually-managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * 
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • AvailabilityZone - string - Optional -
    • *
    • Image - array - Optional -
        *
      • x - array - Optional - This represents a simple array index.
          *
        • Format - string - Required -
        • *
        • Bytes - long - Required -
        • *
        • ImportManifestUrl - string - Required -
        • *
      • *
    • *
    • Description - string - Optional -
    • *
    • Volume - array - Optional -
        *
      • x - array - Optional - This represents a simple array index.
          *
        • Size - long - Required -
        • *
      • *
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * The ModifyImageAttribute operation modifies an attribute of an AMI.
    	 *
    	 * @param string $image_id (Required) The ID of the AMI whose attribute you want to modify.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • Attribute - string - Optional - The name of the AMI attribute you want to modify. Available attributes: launchPermission, productCodes
    • *
    • OperationType - string - Optional - The type of operation being requested. Available operation types: add, remove
    • *
    • UserId - string|array - Optional - The AWS user ID being added to or removed from the list of users with launch permissions for this AMI. Only valid when the launchPermission attribute is being modified. Pass a string for a single value, or an indexed array for multiple values.
    • *
    • UserGroup - string|array - Optional - The user group being added to or removed from the list of user groups with launch permissions for this AMI. Only valid when the launchPermission attribute is being modified. Available user groups: all Pass a string for a single value, or an indexed array for multiple values.
    • *
    • ProductCode - string|array - Optional - The list of product codes being added to or removed from the specified AMI. Only valid when the productCodes attribute is being modified. Pass a string for a single value, or an indexed array for multiple values.
    • *
    • Value - string - Optional - The value of the attribute being modified. Only valid when the description attribute is being modified.
    • *
    • LaunchPermission - array - Optional -
        *
      • x - array - Optional - This represents a simple array index.
          *
        • Add - array - Optional - Describes a permission to launch an Amazon Machine Image (AMI).
            *
          • x - array - Optional - This represents a simple array index.
              *
            • UserId - string - Optional - The AWS user ID of the user involved in this launch permission.
            • *
            • Group - string - Optional - The AWS group of the user involved in this launch permission. Available groups: all
            • *
          • *
        • *
        • Remove - array - Optional - Describes a permission to launch an Amazon Machine Image (AMI).
            *
          • x - array - Optional - This represents a simple array index.
              *
            • UserId - string - Optional - The AWS user ID of the user involved in this launch permission.
            • *
            • Group - string - Optional - The AWS group of the user involved in this launch permission. Available groups: all
            • *
          • *
        • *
      • *
    • *
    • Description.Value - string - Optional - String value
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Modifies an attribute of an instance.
    	 *
    	 * @param string $instance_id (Required) The ID of the instance whose attribute is being modified.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • Attribute - string - Optional - The name of the attribute being modified. Available attribute names: instanceType, kernel, ramdisk, userData, disableApiTermination, instanceInitiatedShutdownBehavior, rootDevice, blockDeviceMapping [Allowed values: instanceType, kernel, ramdisk, userData, disableApiTermination, instanceInitiatedShutdownBehavior, rootDeviceName, blockDeviceMapping, productCodes, sourceDestCheck, groupSet, ebsOptimized]
    • *
    • Value - string - Optional - The new value of the instance attribute being modified. Only valid when kernel, ramdisk, userData, disableApiTermination or instanceInitiateShutdownBehavior is specified as the attribute being modified.
    • *
    • BlockDeviceMapping - array - Optional - The new block device mappings for the instance whose attributes are being modified. Only valid when blockDeviceMapping is specified as the attribute being modified.
        *
      • x - array - Optional - This represents a simple array index.
          *
        • DeviceName - string - Optional - The device name (e.g., /dev/sdh) at which the block device is exposed on the instance.
        • *
        • Ebs - array - Optional - The EBS instance block device specification describing the EBS block device to map to the specified device name on a running instance.
            *
          • x - array - Optional - This represents a simple array index.
              *
            • VolumeId - string - Optional - The ID of the EBS volume that should be mounted as a block device on an Amazon EC2 instance.
            • *
            • DeleteOnTermination - boolean - Optional - Specifies whether the Amazon EBS volume is deleted on instance termination.
            • *
          • *
        • *
        • VirtualName - string - Optional - The virtual device name.
        • *
        • NoDevice - string - Optional - When set to the empty string, specifies that the device name in this object should not be mapped to any real device.
        • *
      • *
    • *
    • SourceDestCheck.Value - boolean - Optional - Boolean value
    • *
    • DisableApiTermination.Value - boolean - Optional - Boolean value
    • *
    • InstanceType.Value - string - Optional - String value
    • *
    • Kernel.Value - string - Optional - String value
    • *
    • Ramdisk.Value - string - Optional - String value
    • *
    • UserData.Value - string - Optional - String value
    • *
    • InstanceInitiatedShutdownBehavior.Value - string - Optional - String value
    • *
    • GroupId - string|array - Optional - Pass a string for a single value, or an indexed array for multiple values.
    • *
    • EbsOptimized.Value - boolean - Optional - Boolean value
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * 
    	 *
    	 * @param string $network_interface_id (Required) 
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • Description.Value - string - Optional - String value
    • *
    • SourceDestCheck.Value - boolean - Optional - Boolean value
    • *
    • SecurityGroupId - string|array - Optional - Pass a string for a single value, or an indexed array for multiple values.
    • *
    • Attachment - array - Optional -
        *
      • x - array - Optional - This represents a simple array index.
          *
        • AttachmentId - string - Optional -
        • *
        • DeleteOnTermination - boolean - Optional -
        • *
      • *
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Adds or remove permission settings for the specified snapshot.
    	 *
    	 * @param string $snapshot_id (Required) The ID of the EBS snapshot whose attributes are being modified.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • Attribute - string - Optional - The name of the attribute being modified. Available attribute names: createVolumePermission [Allowed values: productCodes, createVolumePermission]
    • *
    • OperationType - string - Optional - The operation to perform on the attribute. Available operation names: add, remove
    • *
    • UserId - string|array - Optional - The AWS user IDs to add to or remove from the list of users that have permission to create EBS volumes from the specified snapshot. Currently supports "all".

      Only valid when the createVolumePermission attribute is being modified.

      Pass a string for a single value, or an indexed array for multiple values.
    • *
    • UserGroup - string|array - Optional - The AWS group names to add to or remove from the list of groups that have permission to create EBS volumes from the specified snapshot. Currently supports "all".

      Only valid when the createVolumePermission attribute is being modified.

      Pass a string for a single value, or an indexed array for multiple values.
    • *
    • CreateVolumePermission - array - Optional -
        *
      • x - array - Optional - This represents a simple array index.
          *
        • Add - array - Optional - Describes a permission allowing either a user or group to create a new EBS volume from a snapshot.
            *
          • x - array - Optional - This represents a simple array index.
              *
            • UserId - string - Optional - The user ID of the user that can create volumes from the snapshot.
            • *
            • Group - string - Optional - The group that is allowed to create volumes from the snapshot (currently supports "all").
            • *
          • *
        • *
        • Remove - array - Optional - Describes a permission allowing either a user or group to create a new EBS volume from a snapshot.
            *
          • x - array - Optional - This represents a simple array index.
              *
            • UserId - string - Optional - The user ID of the user that can create volumes from the snapshot.
            • *
            • Group - string - Optional - The group that is allowed to create volumes from the snapshot (currently supports "all").
            • *
          • *
        • *
      • *
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * 
    	 *
    	 * @param string $volume_id (Required) 
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • AutoEnableIO.Value - boolean - Optional -
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * 
    	 *
    	 * @param string $vpc_id (Required) 
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • EnableDnsSupport.Value - boolean - Optional - Boolean value
    • *
    • EnableDnsHostnames.Value - boolean - Optional - Boolean value
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Enables monitoring for a running instance.
    	 *
    	 * @param string|array $instance_id (Required) The list of Amazon EC2 instances on which to enable monitoring. Pass a string for a single value, or an indexed array for multiple values.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * The PurchaseReservedInstancesOffering operation purchases a Reserved Instance for use with your
    	 * account. With Amazon EC2 Reserved Instances, you purchase the right to launch Amazon EC2
    	 * instances for a period of time (without getting insufficient capacity errors) and pay a lower
    	 * usage rate for the actual time used.
    	 *
    	 * @param string $reserved_instances_offering_id (Required) The unique ID of the Reserved Instances offering being purchased.
    	 * @param integer $instance_count (Required) The number of Reserved Instances to purchase.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • LimitPrice - array - Optional -
        *
      • x - array - Optional - This represents a simple array index.
          *
        • Amount - double - Optional -
        • *
        • CurrencyCode - string - Optional -
        • *
      • *
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * The RebootInstances operation requests a reboot of one or more instances. This operation is
    	 * asynchronous; it only queues a request to reboot the specified instance(s). The operation will
    	 * succeed if the instances are valid and belong to the user. Requests to reboot terminated
    	 * instances are ignored.
    	 *
    	 * @param string|array $instance_id (Required) The list of instances to terminate. Pass a string for a single value, or an indexed array for multiple values.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * The RegisterImage operation registers an AMI with Amazon EC2. Images must be registered before
    	 * they can be launched. For more information, see RunInstances.
    	 *  
    	 * Each AMI is associated with an unique ID which is provided by the Amazon EC2 service through
    	 * the RegisterImage operation. During registration, Amazon EC2 retrieves the specified image
    	 * manifest from Amazon S3 and verifies that the image is owned by the user registering the image.
    	 *  
    	 * The image manifest is retrieved once and stored within the Amazon EC2. Any modifications to an
    	 * image in Amazon S3 invalidates this registration. If you make changes to an image, deregister
    	 * the previous image and register the new image. For more information, see DeregisterImage.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • ImageLocation - string - Optional - The full path to your AMI manifest in Amazon S3 storage.
    • *
    • Name - string - Optional - The name to give the new Amazon Machine Image. Constraints: 3-128 alphanumeric characters, parenthesis (()), commas (,), slashes (/), dashes (-), or underscores(_)
    • *
    • Description - string - Optional - The description describing the new AMI.
    • *
    • Architecture - string - Optional - The architecture of the image. Valid Values: i386, x86_64
    • *
    • KernelId - string - Optional - The optional ID of a specific kernel to register with the new AMI.
    • *
    • RamdiskId - string - Optional - The optional ID of a specific ramdisk to register with the new AMI. Some kernels require additional drivers at launch. Check the kernel requirements for information on whether you need to specify a RAM disk.
    • *
    • RootDeviceName - string - Optional - The root device name (e.g., /dev/sda1).
    • *
    • BlockDeviceMapping - array - Optional - The block device mappings for the new AMI, which specify how different block devices (ex: EBS volumes and ephemeral drives) will be exposed on instances launched from the new image.
        *
      • x - array - Optional - This represents a simple array index.
          *
        • VirtualName - string - Optional - Specifies the virtual device name.
        • *
        • DeviceName - string - Optional - Specifies the device name (e.g., /dev/sdh).
        • *
        • Ebs - array - Optional - Specifies parameters used to automatically setup Amazon EBS volumes when the instance is launched.
            *
          • x - array - Optional - This represents a simple array index.
              *
            • SnapshotId - string - Optional - The ID of the snapshot from which the volume will be created.
            • *
            • VolumeSize - integer - Optional - The size of the volume, in gigabytes.
            • *
            • DeleteOnTermination - boolean - Optional - Specifies whether the Amazon EBS volume is deleted on instance termination.
            • *
            • VolumeType - string - Optional - [Allowed values: standard, io1]
            • *
            • Iops - integer - Optional -
            • *
          • *
        • *
        • NoDevice - string - Optional - Specifies the device name to suppress during instance launch.
        • *
      • *
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * The ReleaseAddress operation releases an elastic IP address associated with your account.
    	 * 
    	 * 

    * Releasing an IP address automatically disassociates it from any instance with which it is * associated. For more information, see DisassociateAddress. *

    *

    * After releasing an elastic IP address, it is released to the IP address pool and might no * longer be available to your account. Make sure to update your DNS records and any servers or * devices that communicate with the address. * * If you run this operation on an elastic IP address that is already released, the address might * be assigned to another account which will cause Amazon EC2 to return an error. * * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • PublicIp - string - Optional - The elastic IP address that you are releasing from your account.
    • *
    • AllocationId - string - Optional - The allocation ID that AWS provided when you allocated the address for use with Amazon VPC.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Changes which network ACL a subnet is associated with. By default when you create a subnet,
    	 * it's automatically associated with the default network ACL. For more information about network
    	 * ACLs, go to Network ACLs in the Amazon Virtual Private Cloud User Guide.
    	 *
    	 * @param string $association_id (Required) The ID representing the current association between the original network ACL and the subnet.
    	 * @param string $network_acl_id (Required) The ID of the new ACL to associate with the subnet.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Replaces an entry (i.e., rule) in a network ACL. For more information about network ACLs, go to
    	 * Network ACLs in the Amazon Virtual Private Cloud User Guide.
    	 *
    	 * @param string $network_acl_id (Required) ID of the ACL where the entry will be replaced.
    	 * @param integer $rule_number (Required) Rule number of the entry to replace.
    	 * @param string $protocol (Required) IP protocol the rule applies to. Valid Values: tcp, udp, icmp or an IP protocol number.
    	 * @param string $rule_action (Required) Whether to allow or deny traffic that matches the rule. [Allowed values: allow, deny]
    	 * @param boolean $egress (Required) Whether this rule applies to egress traffic from the subnet (true) or ingress traffic (false).
    	 * @param string $cidr_block (Required) The CIDR range to allow or deny, in CIDR notation (e.g., 172.16.0.0/24).
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • Icmp - array - Optional - ICMP values.
        *
      • x - array - Optional - This represents a simple array index.
          *
        • Type - integer - Optional - For the ICMP protocol, the ICMP type. A value of -1 is a wildcard meaning all types. Required if specifying icmp for the protocol.
        • *
        • Code - integer - Optional - For the ICMP protocol, the ICMP code. A value of -1 is a wildcard meaning all codes. Required if specifying icmp for the protocol.
        • *
      • *
    • *
    • PortRange - array - Optional - Port ranges.
        *
      • x - array - Optional - This represents a simple array index.
          *
        • From - integer - Optional - The first port in the range. Required if specifying tcp or udp for the protocol.
        • *
        • To - integer - Optional - The last port in the range. Required if specifying tcp or udp for the protocol.
        • *
      • *
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Replaces an existing route within a route table in a VPC. For more information about route
    	 * tables, go to Route
    	 * Tables in the Amazon Virtual Private Cloud User Guide.
    	 *
    	 * @param string $route_table_id (Required) The ID of the route table where the route will be replaced.
    	 * @param string $destination_cidr_block (Required) The CIDR address block used for the destination match. For example: 0.0.0.0/0. The value you provide must match the CIDR of an existing route in the table.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • GatewayId - string - Optional - The ID of a VPN or Internet gateway attached to your VPC.
    • *
    • InstanceId - string - Optional - The ID of a NAT instance in your VPC.
    • *
    • NetworkInterfaceId - string - Optional -
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Changes the route table associated with a given subnet in a VPC. After you execute this action,
    	 * the subnet uses the routes in the new route table it's associated with. For more information
    	 * about route tables, go to Route
    	 * Tables in the Amazon Virtual Private Cloud User Guide.
    	 *  
    	 * You can also use this to change which table is the main route table in the VPC. You just
    	 * specify the main route table's association ID and the route table that you want to be the new
    	 * main route table.
    	 *
    	 * @param string $association_id (Required) The ID representing the current association between the original route table and the subnet.
    	 * @param string $route_table_id (Required) The ID of the new route table to associate with the subnet.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * 
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • InstanceId - string|array - Optional - Pass a string for a single value, or an indexed array for multiple values.
    • *
    • Status - string - Optional -
    • *
    • StartTime - string - Optional - May be passed as a number of seconds since UNIX Epoch, or any string compatible with .
    • *
    • EndTime - string - Optional - May be passed as a number of seconds since UNIX Epoch, or any string compatible with .
    • *
    • ReasonCode - string|array - Optional - Pass a string for a single value, or an indexed array for multiple values.
    • *
    • Description - string - Optional -
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Creates a Spot Instance request.
    	 *  
    	 * Spot Instances are instances that Amazon EC2 starts on your behalf when the maximum price that
    	 * you specify exceeds the current Spot Price. Amazon EC2 periodically sets the Spot Price based
    	 * on available Spot Instance capacity and current spot instance requests.
    	 *  
    	 * For conceptual information about Spot Instances, refer to the Amazon Elastic Compute
    	 * Cloud Developer Guide or Amazon Elastic Compute Cloud
    	 * User Guide.
    	 *
    	 * @param string $spot_price (Required) Specifies the maximum hourly price for any Spot Instance launched to fulfill the request.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • InstanceCount - integer - Optional - Specifies the maximum number of Spot Instances to launch.
    • *
    • Type - string - Optional - Specifies the Spot Instance type. [Allowed values: one-time, persistent]
    • *
    • ValidFrom - string - Optional - Defines the start date of the request. If this is a one-time request, the request becomes active at this date and time and remains active until all instances launch, the request expires, or the request is canceled. If the request is persistent, the request becomes active at this date and time and remains active until it expires or is canceled. May be passed as a number of seconds since UNIX Epoch, or any string compatible with .
    • *
    • ValidUntil - string - Optional - End date of the request. If this is a one-time request, the request remains active until all instances launch, the request is canceled, or this date is reached. If the request is persistent, it remains active until it is canceled or this date and time is reached. May be passed as a number of seconds since UNIX Epoch, or any string compatible with .
    • *
    • LaunchGroup - string - Optional - Specifies the instance launch group. Launch groups are Spot Instances that launch and terminate together.
    • *
    • AvailabilityZoneGroup - string - Optional - Specifies the Availability Zone group. When specifying the same Availability Zone group for all Spot Instance requests, all Spot Instances are launched in the same Availability Zone.
    • *
    • LaunchSpecification - array - Optional - Specifies additional launch instance information.
        *
      • x - array - Optional - This represents a simple array index.
          *
        • ImageId - string - Optional - The AMI ID.
        • *
        • KeyName - string - Optional - The name of the key pair.
        • *
        • GroupSet - array - Optional -
            *
          • x - array - Optional - This represents a simple array index.
              *
            • GroupName - string - Optional -
            • *
            • GroupId - string - Optional -
            • *
          • *
        • *
        • SecurityGroup - string|array - Optional - Pass a string for a single value, or an indexed array for multiple values.
        • *
        • UserData - string - Optional - Optional data, specific to a user's application, to provide in the launch request. All instances that collectively comprise the launch request have access to this data. User data is never returned through API responses.
        • *
        • AddressingType - string - Optional - Deprecated.
        • *
        • InstanceType - string - Optional - Specifies the instance type. [Allowed values: t1.micro, m1.small, m1.medium, m1.large, m1.xlarge, m2.xlarge, m2.2xlarge, m2.4xlarge, m3.xlarge, m3.2xlarge, c1.medium, c1.xlarge, hi1.4xlarge, hs1.8xlarge, cc1.4xlarge, cc2.8xlarge, cg1.4xlarge]
        • *
        • Placement - array - Optional - Defines a placement item.
            *
          • x - array - Optional - This represents a simple array index.
              *
            • AvailabilityZone - string - Optional - The availability zone in which an Amazon EC2 instance runs.
            • *
            • GroupName - string - Optional - The name of the PlacementGroup in which an Amazon EC2 instance runs. Placement groups are primarily used for launching High Performance Computing instances in the same group to ensure fast connection speeds.
            • *
          • *
        • *
        • KernelId - string - Optional - Specifies the ID of the kernel to select.
        • *
        • RamdiskId - string - Optional - Specifies the ID of the RAM disk to select. Some kernels require additional drivers at launch. Check the kernel requirements for information on whether or not you need to specify a RAM disk and search for the kernel ID.
        • *
        • BlockDeviceMapping - array - Optional - Specifies how block devices are exposed to the instance. Each mapping is made up of a virtualName and a deviceName.
            *
          • x - array - Optional - This represents a simple array index.
              *
            • VirtualName - string - Optional - Specifies the virtual device name.
            • *
            • DeviceName - string - Optional - Specifies the device name (e.g., /dev/sdh).
            • *
            • Ebs - array - Optional - Specifies parameters used to automatically setup Amazon EBS volumes when the instance is launched.
                *
              • x - array - Optional - This represents a simple array index.
                  *
                • SnapshotId - string - Optional - The ID of the snapshot from which the volume will be created.
                • *
                • VolumeSize - integer - Optional - The size of the volume, in gigabytes.
                • *
                • DeleteOnTermination - boolean - Optional - Specifies whether the Amazon EBS volume is deleted on instance termination.
                • *
                • VolumeType - string - Optional - [Allowed values: standard, io1]
                • *
                • Iops - integer - Optional -
                • *
              • *
            • *
            • NoDevice - string - Optional - Specifies the device name to suppress during instance launch.
            • *
          • *
        • *
        • Monitoring.Enabled - boolean - Optional - Enables monitoring for the instance.
        • *
        • SubnetId - string - Optional - Specifies the Amazon VPC subnet ID within which to launch the instance(s) for Amazon Virtual Private Cloud.
        • *
        • NetworkInterfaceSet - array - Optional -
            *
          • x - array - Optional - This represents a simple array index.
              *
            • NetworkInterfaceId - string - Optional -
            • *
            • DeviceIndex - integer - Optional -
            • *
            • SubnetId - string - Optional -
            • *
            • Description - string - Optional -
            • *
            • PrivateIpAddress - string - Optional -
            • *
            • SecurityGroupId - string|array - Optional - Pass a string for a single value, or an indexed array for multiple values.
            • *
            • DeleteOnTermination - boolean - Optional -
            • *
            • PrivateIpAddresses - array - Optional -
                *
              • x - array - Optional - This represents a simple array index.
                  *
                • PrivateIpAddress - string - Required -
                • *
                • Primary - boolean - Optional -
                • *
              • *
            • *
            • SecondaryPrivateIpAddressCount - integer - Optional -
            • *
          • *
        • *
        • IamInstanceProfile - array - Optional -
            *
          • x - array - Optional - This represents a simple array index.
              *
            • Arn - string - Optional -
            • *
            • Name - string - Optional -
            • *
          • *
        • *
        • EbsOptimized - boolean - Optional -
        • *
      • *
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * The ResetImageAttribute operation resets an attribute of an AMI to its default value.
    	 * 
    	 * 

    * The productCodes attribute cannot be reset. *

    * * @param string $image_id (Required) The ID of the AMI whose attribute is being reset. * @param string $attribute (Required) The name of the attribute being reset. Available attribute names: launchPermission * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Resets an attribute of an instance to its default value.
    	 *
    	 * @param string $instance_id (Required) The ID of the Amazon EC2 instance whose attribute is being reset.
    	 * @param string $attribute (Required) The name of the attribute being reset. Available attribute names: kernel, ramdisk [Allowed values: instanceType, kernel, ramdisk, userData, disableApiTermination, instanceInitiatedShutdownBehavior, rootDeviceName, blockDeviceMapping, productCodes, sourceDestCheck, groupSet, ebsOptimized]
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * 
    	 *
    	 * @param string $network_interface_id (Required) 
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • SourceDestCheck - string - Optional -
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Resets permission settings for the specified snapshot.
    	 *
    	 * @param string $snapshot_id (Required) The ID of the snapshot whose attribute is being reset.
    	 * @param string $attribute (Required) The name of the attribute being reset. Available attribute names: createVolumePermission [Allowed values: productCodes, createVolumePermission]
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * This action applies only to security groups in a VPC. It doesn't work with EC2 security groups.
    	 * For information about Amazon Virtual Private Cloud and VPC security groups, go to the Amazon
    	 * Virtual Private Cloud User Guide.
    	 *  
    	 * The action removes one or more egress rules from a VPC security group. The values that you
    	 * specify in the revoke request (e.g., ports, etc.) must match the existing rule's values in
    	 * order for the rule to be revoked.
    	 *  
    	 * Each rule consists of the protocol, and the CIDR range or destination security group. For the
    	 * TCP and UDP protocols, you must also specify the destination port or range of ports. For the
    	 * ICMP protocol, you must also specify the ICMP type and code.
    	 *  
    	 * Rule changes are propagated to instances within the security group as quickly as possible.
    	 * However, a small delay might occur.
    	 *
    	 * @param string $group_id (Required) ID of the VPC security group to modify.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • IpPermissions - array - Optional - List of IP permissions to authorize on the specified security group. Specifying permissions through IP permissions is the preferred way of authorizing permissions since it offers more flexibility and control.
        *
      • x - array - Optional - This represents a simple array index.
          *
        • IpProtocol - string - Optional - The IP protocol of this permission. Valid protocol values: tcp, udp, icmp
        • *
        • FromPort - integer - Optional - Start of port range for the TCP and UDP protocols, or an ICMP type number. An ICMP type number of -1 indicates a wildcard (i.e., any ICMP type number).
        • *
        • ToPort - integer - Optional - End of port range for the TCP and UDP protocols, or an ICMP code. An ICMP code of -1 indicates a wildcard (i.e., any ICMP code).
        • *
        • Groups - array - Optional - The list of AWS user IDs and groups included in this permission.
            *
          • x - array - Optional - This represents a simple array index.
              *
            • UserId - string - Optional - The AWS user ID of an account.
            • *
            • GroupName - string - Optional - Name of the security group in the specified AWS account. Cannot be used when specifying a CIDR IP address range.
            • *
            • GroupId - string - Optional - ID of the security group in the specified AWS account. Cannot be used when specifying a CIDR IP address range.
            • *
          • *
        • *
        • IpRanges - string|array - Optional - The list of CIDR IP ranges included in this permission. Pass a string for a single value, or an indexed array for multiple values.
        • *
      • *
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * The RevokeSecurityGroupIngress operation revokes permissions from a security group. The
    	 * permissions used to revoke must be specified using the same values used to grant the
    	 * permissions.
    	 *  
    	 * Permissions are specified by IP protocol (TCP, UDP, or ICMP), the source of the request (by IP
    	 * range or an Amazon EC2 user-group pair), the source and destination port ranges (for TCP and
    	 * UDP), and the ICMP codes and types (for ICMP).
    	 *  
    	 * Permission changes are quickly propagated to instances within the security group. However,
    	 * depending on the number of instances in the group, a small delay might occur.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • GroupName - string - Optional - Name of the standard (EC2) security group to modify. The group must belong to your account. Can be used instead of GroupID for standard (EC2) security groups.
    • *
    • GroupId - string - Optional - ID of the standard (EC2) or VPC security group to modify. The group must belong to your account. Required for VPC security groups; can be used instead of GroupName for standard (EC2) security groups.
    • *
    • IpPermissions - array - Optional - List of IP permissions to revoke on the specified security group. For an IP permission to be removed, it must exactly match one of the IP permissions you specify in this list. Specifying permissions through IP permissions is the preferred way of revoking permissions since it offers more flexibility and control.
        *
      • x - array - Optional - This represents a simple array index.
          *
        • IpProtocol - string - Optional - The IP protocol of this permission. Valid protocol values: tcp, udp, icmp
        • *
        • FromPort - integer - Optional - Start of port range for the TCP and UDP protocols, or an ICMP type number. An ICMP type number of -1 indicates a wildcard (i.e., any ICMP type number).
        • *
        • ToPort - integer - Optional - End of port range for the TCP and UDP protocols, or an ICMP code. An ICMP code of -1 indicates a wildcard (i.e., any ICMP code).
        • *
        • Groups - array - Optional - The list of AWS user IDs and groups included in this permission.
            *
          • x - array - Optional - This represents a simple array index.
              *
            • UserId - string - Optional - The AWS user ID of an account.
            • *
            • GroupName - string - Optional - Name of the security group in the specified AWS account. Cannot be used when specifying a CIDR IP address range.
            • *
            • GroupId - string - Optional - ID of the security group in the specified AWS account. Cannot be used when specifying a CIDR IP address range.
            • *
          • *
        • *
        • IpRanges - string|array - Optional - The list of CIDR IP ranges included in this permission. Pass a string for a single value, or an indexed array for multiple values.
        • *
      • *
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * The RunInstances operation launches a specified number of instances.
    	 *  
    	 * If Amazon EC2 cannot launch the minimum number AMIs you request, no instances launch. If there
    	 * is insufficient capacity to launch the maximum number of AMIs you request, Amazon EC2 launches
    	 * as many as possible to satisfy the requested maximum values.
    	 *  
    	 * Every instance is launched in a security group. If you do not specify a security group at
    	 * launch, the instances start in your default security group. For more information on creating
    	 * security groups, see CreateSecurityGroup.
    	 *  
    	 * An optional instance type can be specified. For information about instance types, see Instance
    	 * Types.
    	 *  
    	 * You can provide an optional key pair ID for each image in the launch request (for more
    	 * information, see CreateKeyPair). All instances that are created from images that use this key
    	 * pair will have access to the associated public key at boot. You can use this key to provide
    	 * secure access to an instance of an image on a per-instance basis. Amazon EC2 public images use
    	 * this feature to provide secure access without passwords.
    	 * 
    	 * 

    * Launching public images without a key pair ID will leave them inaccessible. * * The public key material is made available to the instance at boot time by placing it in the * openssh_id.pub file on a logical device that is exposed to the instance as * /dev/sda2 (the ephemeral store). The format of this file is suitable for use as an * entry within ~/.ssh/authorized_keys (the OpenSSH format). This can be done at boot * (e.g., as part of rc.local) allowing for secure access without passwords. * * Optional user data can be provided in the launch request. All instances that collectively * comprise the launch request have access to this data For more information, see Instance * Metadata. * *

    * If any of the AMIs have a product code attached for which the user has not subscribed, the * RunInstances call will fail. *

    *

    * We strongly recommend using the 2.6.18 Xen stock kernel with the c1.medium and * c1.xlarge instances. Although the default Amazon EC2 kernels will work, the new * kernels provide greater stability and performance for these instance types. For more * information about kernels, see Kernels, RAM Disks, and Block Device Mappings. * * @param string $image_id (Required) Unique ID of a machine image, returned by a call to DescribeImages. * @param integer $min_count (Required) Minimum number of instances to launch. If the value is more than Amazon EC2 can launch, no instances are launched at all. * @param integer $max_count (Required) Maximum number of instances to launch. If the value is more than Amazon EC2 can launch, the largest possible number above minCount will be launched instead. Between 1 and the maximum number allowed for your account (default: 20). * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • KeyName - string - Optional - The name of the key pair.
    • *
    • SecurityGroup - string|array - Optional - The names of the security groups into which the instances will be launched. Pass a string for a single value, or an indexed array for multiple values.
    • *
    • SecurityGroupId - string|array - Optional - Pass a string for a single value, or an indexed array for multiple values.
    • *
    • UserData - string - Optional - Specifies additional information to make available to the instance(s).
    • *
    • InstanceType - string - Optional - Specifies the instance type for the launched instances. [Allowed values: t1.micro, m1.small, m1.medium, m1.large, m1.xlarge, m2.xlarge, m2.2xlarge, m2.4xlarge, m3.xlarge, m3.2xlarge, c1.medium, c1.xlarge, hi1.4xlarge, hs1.8xlarge, cc1.4xlarge, cc2.8xlarge, cg1.4xlarge]
    • *
    • Placement - array - Optional - Specifies the placement constraints (Availability Zones) for launching the instances.
        *
      • x - array - Optional - This represents a simple array index.
          *
        • AvailabilityZone - string - Optional - The availability zone in which an Amazon EC2 instance runs.
        • *
        • GroupName - string - Optional - The name of the PlacementGroup in which an Amazon EC2 instance runs. Placement groups are primarily used for launching High Performance Computing instances in the same group to ensure fast connection speeds.
        • *
        • Tenancy - string - Optional - The allowed tenancy of instances launched into the VPC. A value of default means instances can be launched with any tenancy; a value of dedicated means all instances launched into the VPC will be launched as dedicated tenancy regardless of the tenancy assigned to the instance at launch.
        • *
      • *
    • *
    • KernelId - string - Optional - The ID of the kernel with which to launch the instance.
    • *
    • RamdiskId - string - Optional - The ID of the RAM disk with which to launch the instance. Some kernels require additional drivers at launch. Check the kernel requirements for information on whether you need to specify a RAM disk. To find kernel requirements, go to the Resource Center and search for the kernel ID.
    • *
    • BlockDeviceMapping - array - Optional - Specifies how block devices are exposed to the instance. Each mapping is made up of a virtualName and a deviceName.
        *
      • x - array - Optional - This represents a simple array index.
          *
        • VirtualName - string - Optional - Specifies the virtual device name.
        • *
        • DeviceName - string - Optional - Specifies the device name (e.g., /dev/sdh).
        • *
        • Ebs - array - Optional - Specifies parameters used to automatically setup Amazon EBS volumes when the instance is launched.
            *
          • x - array - Optional - This represents a simple array index.
              *
            • SnapshotId - string - Optional - The ID of the snapshot from which the volume will be created.
            • *
            • VolumeSize - integer - Optional - The size of the volume, in gigabytes.
            • *
            • DeleteOnTermination - boolean - Optional - Specifies whether the Amazon EBS volume is deleted on instance termination.
            • *
            • VolumeType - string - Optional - [Allowed values: standard, io1]
            • *
            • Iops - integer - Optional -
            • *
          • *
        • *
        • NoDevice - string - Optional - Specifies the device name to suppress during instance launch.
        • *
      • *
    • *
    • Monitoring.Enabled - boolean - Optional - Enables monitoring for the instance.
    • *
    • SubnetId - string - Optional - Specifies the subnet ID within which to launch the instance(s) for Amazon Virtual Private Cloud.
    • *
    • DisableApiTermination - boolean - Optional - Specifies whether the instance can be terminated using the APIs. You must modify this attribute before you can terminate any "locked" instances from the APIs.
    • *
    • InstanceInitiatedShutdownBehavior - string - Optional - Specifies whether the instance's Amazon EBS volumes are stopped or terminated when the instance is shut down.
    • *
    • License - array - Optional - Specifies active licenses in use and attached to an Amazon EC2 instance.
        *
      • x - array - Optional - This represents a simple array index.
          *
        • Pool - string - Optional - The license pool from which to take a license when starting Amazon EC2 instances in the associated RunInstances request.
        • *
      • *
    • *
    • PrivateIpAddress - string - Optional - If you're using Amazon Virtual Private Cloud, you can optionally use this parameter to assign the instance a specific available IP address from the subnet.
    • *
    • ClientToken - string - Optional - Unique, case-sensitive identifier you provide to ensure idempotency of the request. For more information, go to How to Ensure Idempotency in the Amazon Elastic Compute Cloud User Guide.
    • *
    • NetworkInterface - array - Optional -
        *
      • x - array - Optional - This represents a simple array index.
          *
        • NetworkInterfaceId - string - Optional -
        • *
        • DeviceIndex - integer - Optional -
        • *
        • SubnetId - string - Optional -
        • *
        • Description - string - Optional -
        • *
        • PrivateIpAddress - string - Optional -
        • *
        • SecurityGroupId - string|array - Optional - Pass a string for a single value, or an indexed array for multiple values.
        • *
        • DeleteOnTermination - boolean - Optional -
        • *
        • PrivateIpAddresses - array - Optional -
            *
          • x - array - Optional - This represents a simple array index.
              *
            • PrivateIpAddress - string - Required -
            • *
            • Primary - boolean - Optional -
            • *
          • *
        • *
        • SecondaryPrivateIpAddressCount - integer - Optional -
        • *
      • *
    • *
    • IamInstanceProfile - array - Optional -
        *
      • x - array - Optional - This represents a simple array index.
          *
        • Arn - string - Optional -
        • *
        • Name - string - Optional -
        • *
      • *
    • *
    • EbsOptimized - boolean - Optional -
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Starts an instance that uses an Amazon EBS volume as its root device. Instances that use Amazon
    	 * EBS volumes as their root devices can be quickly stopped and started. When an instance is
    	 * stopped, the compute resources are released and you are not billed for hourly instance usage.
    	 * However, your root partition Amazon EBS volume remains, continues to persist your data, and you
    	 * are charged for Amazon EBS volume usage. You can restart your instance at any time.
    	 * 
    	 * 

    * Performing this operation on an instance that uses an instance store as its root device returns * an error. * * @param string|array $instance_id (Required) The list of Amazon EC2 instances to start. Pass a string for a single value, or an indexed array for multiple values. * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Stops an instance that uses an Amazon EBS volume as its root device. Instances that use Amazon
    	 * EBS volumes as their root devices can be quickly stopped and started. When an instance is
    	 * stopped, the compute resources are released and you are not billed for hourly instance usage.
    	 * However, your root partition Amazon EBS volume remains, continues to persist your data, and you
    	 * are charged for Amazon EBS volume usage. You can restart your instance at any time.
    	 * 
    	 * 

    * Before stopping an instance, make sure it is in a state from which it can be restarted. * Stopping an instance does not preserve data stored in RAM. * * Performing this operation on an instance that uses an instance store as its root device returns * an error. * * @param string|array $instance_id (Required) The list of Amazon EC2 instances to stop. Pass a string for a single value, or an indexed array for multiple values. * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • Force - boolean - Optional - Forces the instance to stop. The instance will not have an opportunity to flush file system caches nor file system meta data. If you use this option, you must perform file system check and repair procedures. This option is not recommended for Windows instances.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * The TerminateInstances operation shuts down one or more instances. This operation is
    	 * idempotent; if you terminate an instance more than once, each call will succeed.
    	 *  
    	 * Terminated instances will remain visible after termination (approximately one hour).
    	 *
    	 * @param string|array $instance_id (Required) The list of instances to terminate. Pass a string for a single value, or an indexed array for multiple values.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * 
    	 *
    	 * @param string $network_interface_id (Required) 
    	 * @param string|array $private_ip_address (Required)  Pass a string for a single value, or an indexed array for multiple values.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Disables monitoring for a running instance.
    	 *
    	 * @param string|array $instance_id (Required) The list of Amazon EC2 instances on which to disable monitoring. Pass a string for a single value, or an indexed array for multiple values.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    /*%******************************************************************************************%*/
    

    Class: EC2_Exception extends Exception {


    File: /destinations/_s3lib/aws-sdk/services/elasticache.class.php

    /*
     * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
     *
     * Licensed under the Apache License, Version 2.0 (the "License").
     * You may not use this file except in compliance with the License.
     * A copy of the License is located at
     *
     *  http://aws.amazon.com/apache2.0
     *
     * or in the "license" file accompanying this file. This file is distributed
     * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
     * express or implied. See the License for the specific language governing
     * permissions and limitations under the License.
     */
    
    /**
     * Amazon ElastiCache is a web service that makes it easier to set up, operate, and scale a
     * distributed cache in the cloud.
     *  
     * With Amazon ElastiCache, customers gain all of the benefits of a high-performance, in-memory
     * cache with far less of the administrative burden of launching and managing a distributed cache.
     * The service makes set-up, scaling, and cluster failure handling much simpler than in a
     * self-managed cache deployment.
     *  
     * In addition, through integration with Amazon CloudWatch, customers get enhanced visibility into
     * the key performance statistics associated with their cache and can receive alarms if a part of
     * their cache runs hot.
     *
     * @version 2013.01.14
     * @license See the included NOTICE.md file for complete information.
     * @copyright See the included NOTICE.md file for complete information.
     * @link http://aws.amazon.com/elasticache/ AWS ElastiCache
     * @link http://aws.amazon.com/elasticache/documentation/ AWS ElastiCache documentation
     */
    
    	/*%******************************************************************************************%*/
    
    	/**
    	 * Specify the queue URL for the United States East (Northern Virginia) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the United States East (Northern Virginia) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the United States West (Northern California) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the United States West (Northern California) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the United States West (Oregon) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the United States West (Oregon) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the Europe West (Ireland) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the Europe West (Ireland) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the Asia Pacific Southeast (Singapore) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the Asia Pacific Southeast (Singapore) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the Asia Pacific Northeast (Tokyo) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the Asia Pacific Northeast (Tokyo) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the South America (Sao Paulo) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the South America (Sao Paulo) Region.
    	 */
    
    	/**
    	 * Default service endpoint.
    	 */
    
    	/*%******************************************************************************************%*/
    
    	/**
    	 * Constructs a new instance of .
    	 *
    	 * @param array $options (Optional) An associative array of parameters that can have the following keys: 
      *
    • certificate_authority - boolean - Optional - Determines which Cerificate Authority file to use. A value of boolean false will use the Certificate Authority file available on the system. A value of boolean true will use the Certificate Authority provided by the SDK. Passing a file system path to a Certificate Authority file (chmodded to 0755) will use that. Leave this set to false if you're not sure.
    • *
    • credentials - string - Optional - The name of the credential set to use for authentication.
    • *
    • default_cache_config - string - Optional - This option allows a preferred storage type to be configured for long-term caching. This can be changed later using the method. Valid values are: apc, xcache, or a file system path such as ./cache or /tmp/cache/.
    • *
    • key - string - Optional - Your AWS key, or a session key. If blank, the default credential set will be used.
    • *
    • secret - string - Optional - Your AWS secret key, or a session secret key. If blank, the default credential set will be used.
    • *
    • token - string - Optional - An AWS session token.
    * @return void */
    	/*%******************************************************************************************%*/
    
    	/**
    	 * This allows you to explicitly sets the region for the service to use.
    	 *
    	 * @param string $region (Required) The region to explicitly set. Available options are , , , , , , .
    	 * @return $this A reference to the current instance.
    	 */
    
    	/*%******************************************************************************************%*/
    
    	/**
    	 * Authorizes ingress to a CacheSecurityGroup using EC2 Security Groups as authorization
    	 * (therefore the application using the cache must be running on EC2 clusters). This API requires
    	 * the following parameters: EC2SecurityGroupName and EC2SecurityGroupOwnerId.
    	 * 
    	 * 

    * You cannot authorize ingress from an EC2 security group in one Region to an Amazon Cache * Cluster in another. *

    * * @param string $cache_security_group_name (Required) The name of the Cache Security Group to authorize. * @param string $ec2_security_group_name (Required) Name of the EC2 Security Group to include in the authorization. * @param string $ec2_security_group_owner_id (Required) AWS Account Number of the owner of the security group specified in the EC2SecurityGroupName parameter. The AWS Access Key ID is not an acceptable value. * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Creates a new Cache Cluster.
    	 *
    	 * @param string $cache_cluster_id (Required) The Cache Cluster identifier. This parameter is stored as a lowercase string. Constraints:
    • Must contain from 1 to 20 alphanumeric characters or hyphens.
    • First character must be a letter.
    • Cannot end with a hyphen or contain two consecutive hyphens.
    Example: mycachecluster * @param integer $num_cache_nodes (Required) The number of Cache Nodes the Cache Cluster should have. * @param string $cache_node_type (Required) The compute and memory capacity of nodes in a Cache Cluster. Valid values: cache.t1.micro | cache.m1.small | cache.m1.medium | cache.m1.large | cache.m1.xlarge | cache.m3.xlarge | cache.m3.2xlarge | cache.m2.xlarge | cache.m2.2xlarge | cache.m2.4xlarge | cache.c1.xlarge * @param string $engine (Required) The name of the cache engine to be used for this Cache Cluster.

    Currently, memcached is the only cache engine supported by the service.

    * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • EngineVersion - string - Optional - The version of the cache engine to be used for this cluster.
    • *
    • CacheParameterGroupName - string - Optional - The name of the cache parameter group to associate with this Cache cluster. If this argument is omitted, the default CacheParameterGroup for the specified engine will be used.
    • *
    • CacheSubnetGroupName - string - Optional - The name of the Cache Subnet Group to be used for the Cache Cluster. Use this parameter only when you are creating a cluster in an Amazon Virtual Private Cloud (VPC).
    • *
    • CacheSecurityGroupNames - string|array - Optional - A list of Cache Security Group Names to associate with this Cache Cluster. Use this parameter only when you are creating a cluster outside of an Amazon Virtual Private Cloud (VPC). Pass a string for a single value, or an indexed array for multiple values.
    • *
    • SecurityGroupIds - string|array - Optional - Specifies the VPC Security Groups associated with the Cache Cluster. Use this parameter only when you are creating a cluster in an Amazon Virtual Private Cloud (VPC). Pass a string for a single value, or an indexed array for multiple values.
    • *
    • PreferredAvailabilityZone - string - Optional - The EC2 Availability Zone that the Cache Cluster will be created in. All cache nodes belonging to a cache cluster are placed in the preferred availability zone. Default: System chosen (random) availability zone.
    • *
    • PreferredMaintenanceWindow - string - Optional - The weekly time range (in UTC) during which system maintenance can occur. Example: sun:05:00-sun:09:00
    • *
    • Port - integer - Optional - The port number on which each of the Cache Nodes will accept connections.
    • *
    • NotificationTopicArn - string - Optional - The Amazon Resource Name (ARN) of the Amazon Simple Notification Service (SNS) topic to which notifications will be sent.

      The Amazon SNS topic owner must be the same as the Cache Cluster owner.

    • *
    • AutoMinorVersionUpgrade - boolean - Optional - Indicates that minor engine upgrades will be applied automatically to the Cache Cluster during the maintenance window. Default: true
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Creates a new Cache Parameter Group. Cache Parameter groups control the parameters for a Cache
    	 * Cluster.
    	 *
    	 * @param string $cache_parameter_group_name (Required) The name of the Cache Parameter Group.
    	 * @param string $cache_parameter_group_family (Required) The name of the Cache Parameter Group Family the Cache Parameter Group can be used with. 

    Currently, memcached1.4 is the only cache parameter group family supported by the service.

    * @param string $description (Required) The description for the Cache Parameter Group. * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Creates a new Cache Security Group. Cache Security groups control access to one or more Cache
    	 * Clusters.
    	 *  
    	 * Only use cache security groups when you are creating a cluster outside of an Amazon Virtual
    	 * Private Cloud (VPC). Inside of a VPC, use VPC security groups.
    	 *
    	 * @param string $cache_security_group_name (Required) The name for the Cache Security Group. This value is stored as a lowercase string. Constraints: Must contain no more than 255 alphanumeric characters. Must not be "Default". Example: mysecuritygroup
    	 * @param string $description (Required) The description for the Cache Security Group.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Creates a new Cache Subnet Group.
    	 *
    	 * @param string $cache_subnet_group_name (Required) The name for the Cache Subnet Group. This value is stored as a lowercase string. Constraints: Must contain no more than 255 alphanumeric characters or hyphens. Example: mysubnetgroup
    	 * @param string $cache_subnet_group_description (Required) The description for the Cache Subnet Group.
    	 * @param string|array $subnet_ids (Required) The EC2 Subnet IDs for the Cache Subnet Group. Pass a string for a single value, or an indexed array for multiple values.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Deletes a previously provisioned Cache Cluster. A successful response from the web service
    	 * indicates the request was received correctly. This action cannot be canceled or reverted.
    	 * DeleteCacheCluster deletes all associated Cache Nodes, node endpoints and the Cache Cluster
    	 * itself.
    	 *
    	 * @param string $cache_cluster_id (Required) The Cache Cluster identifier for the Cache Cluster to be deleted. This parameter isn't case sensitive.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Deletes the specified CacheParameterGroup. The CacheParameterGroup cannot be deleted if it is
    	 * associated with any cache clusters.
    	 *
    	 * @param string $cache_parameter_group_name (Required) The name of the Cache Parameter Group to delete. 

    The specified cache security group must not be associated with any Cache clusters.

    * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Deletes a Cache Security Group.
    	 * 
    	 * 

    * The specified Cache Security Group must not be associated with any Cache Clusters. *

    * * @param string $cache_security_group_name (Required) The name of the Cache Security Group to delete.

    You cannot delete the default security group.

    * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Deletes a Cache Subnet Group.
    	 * 
    	 * 

    * The specified Cache Subnet Group must not be associated with any Cache Clusters. *

    * * @param string $cache_subnet_group_name (Required) The name of the Cache Subnet Group to delete. Constraints: Must contain no more than 255 alphanumeric characters or hyphens. * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Returns information about all provisioned Cache Clusters if no Cache Cluster identifier is
    	 * specified, or about a specific Cache Cluster if a Cache Cluster identifier is supplied.
    	 *  
    	 * Cluster information will be returned by default. An optional ShowDetails flag can be
    	 * used to retrieve detailed information about the Cache Nodes associated with the Cache Cluster.
    	 * Details include the DNS address and port for the Cache Node endpoint.
    	 *  
    	 * If the cluster is in the CREATING state, only cluster level information will be displayed until
    	 * all of the nodes are successfully provisioned.
    	 *  
    	 * If the cluster is in the DELETING state, only cluster level information will be displayed.
    	 *  
    	 * While adding Cache Nodes, node endpoint information and creation time for the additional nodes
    	 * will not be displayed until they are completely provisioned. The cluster lifecycle tells the
    	 * customer when new nodes are AVAILABLE.
    	 *  
    	 * While removing existing Cache Nodes from an cluster, endpoint information for the removed nodes
    	 * will not be displayed.
    	 *  
    	 * DescribeCacheClusters supports pagination.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • CacheClusterId - string - Optional - The user-supplied cluster identifier. If this parameter is specified, only information about that specific Cache Cluster is returned. This parameter isn't case sensitive.
    • *
    • MaxRecords - integer - Optional - The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a marker is included in the response so that the remaining results may be retrieved. Default: 100 Constraints: minimum 20, maximum 100
    • *
    • Marker - string - Optional - An optional marker provided in the previous DescribeCacheClusters request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.
    • *
    • ShowCacheNodeInfo - boolean - Optional - An optional flag that can be included in the DescribeCacheCluster request to retrieve Cache Nodes information.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Returns a list of the available cache engines and their versions.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • Engine - string - Optional - The cache engine to return.
    • *
    • EngineVersion - string - Optional - The cache engine version to return. Example: 1.4.14
    • *
    • CacheParameterGroupFamily - string - Optional - The name of a specific Cache Parameter Group family to return details for. Constraints:
      • Must be 1 to 255 alphanumeric characters
      • First character must be a letter
      • Cannot end with a hyphen or contain two consecutive hyphens
    • *
    • MaxRecords - integer - Optional - The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a marker is included in the response so that the remaining results may be retrieved.
    • *
    • Marker - string - Optional - An optional marker provided in the previous DescribeCacheParameterGroups request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.
    • *
    • DefaultOnly - boolean - Optional - Indicates that only the default version of the specified engine or engine and major version combination is returned.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Returns a list of CacheParameterGroup descriptions. If a CacheParameterGroupName is specified,
    	 * the list will contain only the descriptions of the specified CacheParameterGroup.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • CacheParameterGroupName - string - Optional - The name of a specific cache parameter group to return details for.
    • *
    • MaxRecords - integer - Optional - The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a marker is included in the response so that the remaining results may be retrieved.
    • *
    • Marker - string - Optional - An optional marker provided in the previous DescribeCacheParameterGroups request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Returns the detailed parameter list for a particular CacheParameterGroup.
    	 *
    	 * @param string $cache_parameter_group_name (Required) The name of a specific cache parameter group to return details for.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • Source - string - Optional - The parameter types to return. Valid values: user | system | engine-default
    • *
    • MaxRecords - integer - Optional - The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a marker is included in the response so that the remaining results may be retrieved.
    • *
    • Marker - string - Optional - An optional marker provided in the previous DescribeCacheClusters request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Returns a list of CacheSecurityGroup descriptions. If a CacheSecurityGroupName is specified,
    	 * the list will contain only the description of the specified CacheSecurityGroup.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • CacheSecurityGroupName - string - Optional - The name of the Cache Security Group to return details for.
    • *
    • MaxRecords - integer - Optional - The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a marker is included in the response so that the remaining results may be retrieved. Default: 100 Constraints: minimum 20, maximum 100
    • *
    • Marker - string - Optional - An optional marker provided in the previous DescribeCacheClusters request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Returns a list of CacheSubnetGroup descriptions. If a CacheSubnetGroupName is specified, the
    	 * list will contain only the description of the specified Cache Subnet Group.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • CacheSubnetGroupName - string - Optional - The name of the Cache Subnet Group to return details for.
    • *
    • MaxRecords - integer - Optional - The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a marker is included in the response so that the remaining results may be retrieved. Default: 100 Constraints: minimum 20, maximum 100
    • *
    • Marker - string - Optional - An optional marker provided in the previous DescribeCacheSubnetGroups request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Returns the default engine and system parameter information for the specified cache engine.
    	 *
    	 * @param string $cache_parameter_group_family (Required) The name of the Cache Parameter Group Family. 

    Currently, memcached1.4 is the only cache parameter group family supported by the service.

    * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • MaxRecords - integer - Optional - The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a marker is included in the response so that the remaining results may be retrieved.
    • *
    • Marker - string - Optional - An optional marker provided in the previous DescribeCacheClusters request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Returns events related to Cache Clusters, Cache Security Groups, and Cache Parameter Groups for
    	 * the past 14 days. Events specific to a particular Cache Cluster, Cache Security Group, or Cache
    	 * Parameter Group can be obtained by providing the name as a parameter. By default, the past hour
    	 * of events are returned.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • SourceIdentifier - string - Optional - The identifier of the event source for which events will be returned. If not specified, then all sources are included in the response.
    • *
    • SourceType - string - Optional - The event source to retrieve events for. If no value is specified, all events are returned. [Allowed values: cache-cluster, cache-parameter-group, cache-security-group, cache-subnet-group]
    • *
    • StartTime - string - Optional - The beginning of the time interval to retrieve events for, specified in ISO 8601 format. May be passed as a number of seconds since UNIX Epoch, or any string compatible with .
    • *
    • EndTime - string - Optional - The end of the time interval for which to retrieve events, specified in ISO 8601 format. May be passed as a number of seconds since UNIX Epoch, or any string compatible with .
    • *
    • Duration - integer - Optional - The number of minutes to retrieve events for.
    • *
    • MaxRecords - integer - Optional - The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a marker is included in the response so that the remaining results may be retrieved.
    • *
    • Marker - string - Optional - An optional marker provided in the previous DescribeCacheClusters request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Returns information about reserved Cache Nodes for this account, or about a specified reserved
    	 * Cache Node.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • ReservedCacheNodeId - string - Optional - The reserved Cache Node identifier filter value. Specify this parameter to show only the reservation that matches the specified reservation ID.
    • *
    • ReservedCacheNodesOfferingId - string - Optional - The offering identifier filter value. Specify this parameter to show only purchased reservations matching the specified offering identifier.
    • *
    • CacheNodeType - string - Optional - The Cache Node type filter value. Specify this parameter to show only those reservations matching the specified Cache Nodes type.
    • *
    • Duration - string - Optional - The duration filter value, specified in years or seconds. Specify this parameter to show only reservations for this duration. Valid Values: 1 | 3 | 31536000 | 94608000
    • *
    • ProductDescription - string - Optional - The product description filter value. Specify this parameter to show only those reservations matching the specified product description.
    • *
    • OfferingType - string - Optional - The offering type filter value. Specify this parameter to show only the available offerings matching the specified offering type. Valid Values: "Light Utilization" | "Medium Utilization" | "Heavy Utilization"
    • *
    • MaxRecords - integer - Optional - The maximum number of records to include in the response. If more than the MaxRecords value is available, a marker is included in the response so that the following results can be retrieved. Default: 100 Constraints: minimum 20, maximum 100
    • *
    • Marker - string - Optional - The marker provided in the previous request. If this parameter is specified, the response includes records beyond the marker only, up to MaxRecords.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Lists available reserved Cache Node offerings.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • ReservedCacheNodesOfferingId - string - Optional - The offering identifier filter value. Specify this parameter to show only the available offering that matches the specified reservation identifier. Example: 438012d3-4052-4cc7-b2e3-8d3372e0e706
    • *
    • CacheNodeType - string - Optional - The Cache Node type filter value. Specify this parameter to show only the available offerings matching the specified Cache Node type.
    • *
    • Duration - string - Optional - Duration filter value, specified in years or seconds. Specify this parameter to show only reservations for this duration. Valid Values: 1 | 3 | 31536000 | 94608000
    • *
    • ProductDescription - string - Optional - Product description filter value. Specify this parameter to show only the available offerings matching the specified product description.
    • *
    • OfferingType - string - Optional - The offering type filter value. Specify this parameter to show only the available offerings matching the specified offering type. Valid Values: "Light Utilization" | "Medium Utilization" | "Heavy Utilization"
    • *
    • MaxRecords - integer - Optional - The maximum number of records to include in the response. If more than the MaxRecords value is available, a marker is included in the response so that the following results can be retrieved. Default: 100 Constraints: minimum 20, maximum 100
    • *
    • Marker - string - Optional - The marker provided in the previous request. If this parameter is specified, the response includes records beyond the marker only, up to MaxRecords.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Modifies the Cache Cluster settings. You can change one or more Cache Cluster configuration
    	 * parameters by specifying the parameters and the new values in the request.
    	 *
    	 * @param string $cache_cluster_id (Required) The Cache Cluster identifier. This value is stored as a lowercase string.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • NumCacheNodes - integer - Optional - The number of Cache Nodes the Cache Cluster should have. If NumCacheNodes is greater than the existing number of Cache Nodes, Cache Nodes will be added. If NumCacheNodes is less than the existing number of Cache Nodes, Cache Nodes will be removed. When removing Cache Nodes, the Ids of the specific Cache Nodes to be removed must be supplied using the CacheNodeIdsToRemove parameter.
    • *
    • CacheNodeIdsToRemove - string|array - Optional - The list of Cache Node IDs to be removed. This parameter is only valid when NumCacheNodes is less than the existing number of Cache Nodes. The number of Cache Node Ids supplied in this parameter must match the difference between the existing number of Cache Nodes in the cluster and the new NumCacheNodes requested. Pass a string for a single value, or an indexed array for multiple values.
    • *
    • CacheSecurityGroupNames - string|array - Optional - A list of Cache Security Group Names to authorize on this Cache Cluster. This change is asynchronously applied as soon as possible. This parameter can be used only with clusters that are created outside of an Amazon Virtual Private Cloud (VPC). Constraints: Must contain no more than 255 alphanumeric characters. Must not be "Default". Pass a string for a single value, or an indexed array for multiple values.
    • *
    • SecurityGroupIds - string|array - Optional - Specifies the VPC Security Groups associated with the Cache Cluster. This parameter can be used only with clusters that are created in an Amazon Virtual Private Cloud (VPC). Pass a string for a single value, or an indexed array for multiple values.
    • *
    • PreferredMaintenanceWindow - string - Optional - The weekly time range (in UTC) during which system maintenance can occur, which may result in an outage. This change is made immediately. If moving this window to the current time, there must be at least 120 minutes between the current time and end of the window to ensure pending changes are applied.
    • *
    • NotificationTopicArn - string - Optional - The Amazon Resource Name (ARN) of the SNS topic to which notifications will be sent.

      The SNS topic owner must be same as the Cache Cluster owner.

    • *
    • CacheParameterGroupName - string - Optional - The name of the Cache Parameter Group to apply to this Cache Cluster. This change is asynchronously applied as soon as possible for parameters when the ApplyImmediately parameter is specified as true for this request.
    • *
    • NotificationTopicStatus - string - Optional - The status of the Amazon SNS notification topic. The value can be active or inactive. Notifications are sent only if the status is active.
    • *
    • ApplyImmediately - boolean - Optional - Specifies whether or not the modifications in this request and any pending modifications are asynchronously applied as soon as possible, regardless of the PreferredMaintenanceWindow setting for the Cache Cluster. If this parameter is passed as false, changes to the Cache Cluster are applied on the next maintenance reboot, or the next failure reboot, whichever occurs first. Default: false
    • *
    • EngineVersion - string - Optional - The version of the cache engine to upgrade this cluster to.
    • *
    • AutoMinorVersionUpgrade - boolean - Optional - Indicates that minor engine upgrades will be applied automatically to the Cache Cluster during the maintenance window. Default: true
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Modifies the parameters of a CacheParameterGroup. To modify more than one parameter, submit a
    	 * list of ParameterName and ParameterValue parameters. A maximum of 20 parameters can be modified
    	 * in a single request.
    	 *
    	 * @param string $cache_parameter_group_name (Required) The name of the cache parameter group to modify.
    	 * @param array $parameter_name_values (Required) An array of parameter names and values for the parameter update. At least one parameter name and value must be supplied; subsequent arguments are optional. A maximum of 20 parameters may be modified in a single request. 
      *
    • x - array - Optional - This represents a simple array index.
        *
      • ParameterName - string - Optional - Specifies the name of the parameter.
      • *
      • ParameterValue - string - Optional - Specifies the value of the parameter.
      • *
    • *
    * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Modifies an existing Cache Subnet Group.
    	 *
    	 * @param string $cache_subnet_group_name (Required) The name for the Cache Subnet Group. This value is stored as a lowercase string. Constraints: Must contain no more than 255 alphanumeric characters or hyphens. Example: mysubnetgroup
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • CacheSubnetGroupDescription - string - Optional - The description for the Cache Subnet Group.
    • *
    • SubnetIds - string|array - Optional - The EC2 Subnet IDs for the Cache Subnet Group. Pass a string for a single value, or an indexed array for multiple values.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Purchases a reserved Cache Node offering.
    	 *
    	 * @param string $reserved_cache_nodes_offering_id (Required) The ID of the Reserved Cache Node offering to purchase. Example: 438012d3-4052-4cc7-b2e3-8d3372e0e706
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • ReservedCacheNodeId - string - Optional - Customer-specified identifier to track this reservation. Example: myreservationID
    • *
    • CacheNodeCount - integer - Optional - The number of instances to reserve. Default: 1
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Reboots some (or all) of the cache cluster nodes within a previously provisioned ElastiCache
    	 * cluster. This API results in the application of modified CacheParameterGroup parameters to the
    	 * cache cluster. This action is taken as soon as possible, and results in a momentary outage to
    	 * the cache cluster during which the cache cluster status is set to rebooting. During that
    	 * momentary outage, the contents of the cache (for each cache cluster node being rebooted) are
    	 * lost. A CacheCluster event is created when the reboot is completed.
    	 *
    	 * @param string $cache_cluster_id (Required) The Cache Cluster identifier. This parameter is stored as a lowercase string.
    	 * @param string|array $cache_node_ids_to_reboot (Required) A list of Cache Cluster Node Ids to reboot. To reboot an entire cache cluster, specify all cache cluster node Ids. Pass a string for a single value, or an indexed array for multiple values.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Modifies the parameters of a CacheParameterGroup to the engine or system default value. To
    	 * reset specific parameters submit a list of the parameter names. To reset the entire
    	 * CacheParameterGroup, specify the CacheParameterGroup name and ResetAllParameters parameters.
    	 *
    	 * @param string $cache_parameter_group_name (Required) The name of the Cache Parameter Group.
    	 * @param array $parameter_name_values (Required) An array of parameter names which should be reset. If not resetting the entire CacheParameterGroup, at least one parameter name must be supplied. 
      *
    • x - array - Optional - This represents a simple array index.
        *
      • ParameterName - string - Optional - Specifies the name of the parameter.
      • *
      • ParameterValue - string - Optional - Specifies the value of the parameter.
      • *
    • *
    * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • ResetAllParameters - boolean - Optional - Specifies whether (true) or not (false) to reset all parameters in the Cache Parameter Group to default values.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Revokes ingress from a CacheSecurityGroup for previously authorized EC2 Security Groups.
    	 *
    	 * @param string $cache_security_group_name (Required) The name of the Cache Security Group to revoke ingress from.
    	 * @param string $ec2_security_group_name (Required) The name of the EC2 Security Group to revoke access from.
    	 * @param string $ec2_security_group_owner_id (Required) The AWS Account Number of the owner of the security group specified in the EC2SecurityGroupName parameter. The AWS Access Key ID is not an acceptable value.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    /*%******************************************************************************************%*/
    

    Class: ElastiCache_Exception extends Exception {


    File: /destinations/_s3lib/aws-sdk/services/elasticbeanstalk.class.php

    /*
     * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
     *
     * Licensed under the Apache License, Version 2.0 (the "License").
     * You may not use this file except in compliance with the License.
     * A copy of the License is located at
     *
     *  http://aws.amazon.com/apache2.0
     *
     * or in the "license" file accompanying this file. This file is distributed
     * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
     * express or implied. See the License for the specific language governing
     * permissions and limitations under the License.
     */
    
    /**
     * This is the AWS Elastic Beanstalk API Reference. This guide provides detailed information about
     * AWS Elastic Beanstalk actions, data types, parameters, and errors.
     *  
     * AWS Elastic Beanstalk is a tool that makes it easy for you to create, deploy, and manage
     * scalable, fault-tolerant applications running on Amazon Web Services cloud resources.
     *  
     * For more information about this product, go to the AWS Elastic Beanstalk details page. The location
     * of the lastest AWS Elastic Beanstalk WSDL is http://elasticbeanstalk.s3.amazonaws.com/doc/2010-12-01/AWSElasticBeanstalk.wsdl.
     *  
     * Endpoints
     *  
     * For a list of region-specific endpoints that AWS Elastic Beanstalk supports, go to Regions
     * and Endpoints in the Amazon Web Services Glossary.
     *
     * @version 2013.01.14
     * @license See the included NOTICE.md file for complete information.
     * @copyright See the included NOTICE.md file for complete information.
     * @link http://aws.amazon.com/elasticbeanstalk/ AWS ElasticBeanstalk
     * @link http://aws.amazon.com/elasticbeanstalk/documentation/ AWS ElasticBeanstalk documentation
     */
    
    	/*%******************************************************************************************%*/
    
    	/**
    	 * Specify the queue URL for the United States East (Northern Virginia) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the United States East (Northern Virginia) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the United States West (Northern California) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the United States West (Northern California) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the United States West (Oregon) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the United States West (Oregon) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the Europe West (Ireland) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the Europe West (Ireland) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the Asia Pacific Southeast (Singapore) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the Asia Pacific Southeast (Singapore) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the Asia Pacific Southeast (Singapore) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the Asia Pacific Southeast (Singapore) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the Asia Pacific Northeast (Tokyo) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the Asia Pacific Northeast (Tokyo) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the South America (Sao Paulo) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the South America (Sao Paulo) Region.
    	 */
    
    	/**
    	 * Default service endpoint.
    	 */
    
    	/*%******************************************************************************************%*/
    
    	/**
    	 * Constructs a new instance of .
    	 *
    	 * @param array $options (Optional) An associative array of parameters that can have the following keys: 
      *
    • certificate_authority - boolean - Optional - Determines which Cerificate Authority file to use. A value of boolean false will use the Certificate Authority file available on the system. A value of boolean true will use the Certificate Authority provided by the SDK. Passing a file system path to a Certificate Authority file (chmodded to 0755) will use that. Leave this set to false if you're not sure.
    • *
    • credentials - string - Optional - The name of the credential set to use for authentication.
    • *
    • default_cache_config - string - Optional - This option allows a preferred storage type to be configured for long-term caching. This can be changed later using the method. Valid values are: apc, xcache, or a file system path such as ./cache or /tmp/cache/.
    • *
    • key - string - Optional - Your AWS key, or a session key. If blank, the default credential set will be used.
    • *
    • secret - string - Optional - Your AWS secret key, or a session secret key. If blank, the default credential set will be used.
    • *
    • token - string - Optional - An AWS session token.
    * @return void */
    	/*%******************************************************************************************%*/
    
    	/**
    	 * This allows you to explicitly sets the region for the service to use.
    	 *
    	 * @param string $region (Required) The region to explicitly set. Available options are , , , , , , , .
    	 * @return $this A reference to the current instance.
    	 */
    
    	/*%******************************************************************************************%*/
    
    	/**
    	 * Checks if the specified CNAME is available.
    	 *
    	 * @param string $cnameprefix (Required) The prefix used when this CNAME is reserved.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Creates an application that has one configuration template named default and no
    	 * application versions.
    	 * 
    	 * 

    * The default configuration template is for a 32-bit version of the Amazon Linux * operating system running the Tomcat 6 application container. *

    * * @param string $application_name (Required) The name of the application. Constraint: This name must be unique within your account. If the specified name already exists, the action returns an InvalidParameterValue error. * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • Description - string - Optional - Describes the application.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Creates an application version for the specified application.
    	 * 
    	 * 

    * Once you create an application version with a specified Amazon S3 bucket and key location, you * cannot change that Amazon S3 location. If you change the Amazon S3 location, you receive an * exception when you attempt to launch an environment from the application version. *

    * * @param string $application_name (Required) The name of the application. If no application is found with this name, and AutoCreateApplication is false, returns an InvalidParameterValue error. * @param string $version_label (Required) A label identifying this version. Constraint: Must be unique per application. If an application version already exists with this label for the specified application, AWS Elastic Beanstalk returns an InvalidParameterValue error. * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • Description - string - Optional - Describes this version.
    • *
    • SourceBundle - array - Optional - The Amazon S3 bucket and key that identify the location of the source bundle for this version. If data found at the Amazon S3 location exceeds the maximum allowed source bundle size, AWS Elastic Beanstalk returns an InvalidParameterValue error. Default: If not specified, AWS Elastic Beanstalk uses a sample application. If only partially specified (for example, a bucket is provided but not the key) or if no data is found at the Amazon S3 location, AWS Elastic Beanstalk returns an InvalidParameterCombination error.
        *
      • x - array - Optional - This represents a simple array index.
          *
        • S3Bucket - string - Optional - The Amazon S3 bucket where the data is located.
        • *
        • S3Key - string - Optional - The Amazon S3 key where the data is located.
        • *
      • *
    • *
    • AutoCreateApplication - boolean - Optional - Determines how the system behaves if the specified application for this version does not already exist: true: Automatically creates the specified application for this version if it does not already exist. false: Returns an InvalidParameterValue if the specified application for this version does not already exist.
      • true: Automatically creates the specified application for this release if it does not already exist.
      • false: Throws an InvalidParameterValue if the specified application for this release does not already exist.
      Default: false Valid Values: true | false
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Creates a configuration template. Templates are associated with a specific application and are
    	 * used to deploy different versions of the application with the same configuration settings.
    	 *  
    	 * Related Topics
    	 * 
    	 * 
      *
    • DescribeConfigurationOptions
    • *
    • DescribeConfigurationSettings
    • *
    • ListAvailableSolutionStacks
    • *
    * * @param string $application_name (Required) The name of the application to associate with this configuration template. If no application is found with this name, AWS Elastic Beanstalk returns an InvalidParameterValue error. * @param string $template_name (Required) The name of the configuration template. Constraint: This name must be unique per application. Default: If a configuration template already exists with this name, AWS Elastic Beanstalk returns an InvalidParameterValue error. * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • SolutionStackName - string - Optional - The name of the solution stack used by this configuration. The solution stack specifies the operating system, architecture, and application server for a configuration template. It determines the set of configuration options as well as the possible and default values. Use ListAvailableSolutionStacks to obtain a list of available solution stacks. Default: If the SolutionStackName is not specified and the source configuration parameter is blank, AWS Elastic Beanstalk uses the default solution stack. If not specified and the source configuration parameter is specified, AWS Elastic Beanstalk uses the same solution stack as the source configuration template.
    • *
    • SourceConfiguration - array - Optional - If specified, AWS Elastic Beanstalk uses the configuration values from the specified configuration template to create a new configuration. Values specified in the OptionSettings parameter of this call overrides any values obtained from the SourceConfiguration. If no configuration template is found, returns an InvalidParameterValue error. Constraint: If both the solution stack name parameter and the source configuration parameters are specified, the solution stack of the source configuration template must match the specified solution stack name or else AWS Elastic Beanstalk returns an InvalidParameterCombination error.
        *
      • x - array - Optional - This represents a simple array index.
          *
        • ApplicationName - string - Optional - The name of the application associated with the configuration.
        • *
        • TemplateName - string - Optional - The name of the configuration template.
        • *
      • *
    • *
    • EnvironmentId - string - Optional - The ID of the environment used with this configuration template.
    • *
    • Description - string - Optional - Describes this configuration.
    • *
    • OptionSettings - array - Optional - If specified, AWS Elastic Beanstalk sets the specified configuration option to the requested value. The new value overrides the value obtained from the solution stack or the source configuration template.
        *
      • x - array - Optional - This represents a simple array index.
          *
        • Namespace - string - Optional - A unique namespace identifying the option's associated AWS resource.
        • *
        • OptionName - string - Optional - The name of the configuration option.
        • *
        • Value - string - Optional - The current value for the configuration option.
        • *
      • *
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Launches an environment for the specified application using the specified configuration.
    	 *
    	 * @param string $application_name (Required) The name of the application that contains the version to be deployed. If no application is found with this name, CreateEnvironment returns an InvalidParameterValue error.
    	 * @param string $environment_name (Required) A unique name for the deployment environment. Used in the application URL. Constraint: Must be from 4 to 23 characters in length. The name can contain only letters, numbers, and hyphens. It cannot start or end with a hyphen. This name must be unique in your account. If the specified name already exists, AWS Elastic Beanstalk returns an InvalidParameterValue error. Default: If the CNAME parameter is not specified, the environment name becomes part of the CNAME, and therefore part of the visible URL for your application.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • VersionLabel - string - Optional - The name of the application version to deploy. If the specified application has no associated application versions, AWS Elastic Beanstalk UpdateEnvironment returns an InvalidParameterValue error. Default: If not specified, AWS Elastic Beanstalk attempts to launch the most recently created application version.
    • *
    • TemplateName - string - Optional - The name of the configuration template to use in deployment. If no configuration template is found with this name, AWS Elastic Beanstalk returns an InvalidParameterValue error. Condition: You must specify either this parameter or a SolutionStackName, but not both. If you specify both, AWS Elastic Beanstalk returns an InvalidParameterCombination error. If you do not specify either, AWS Elastic Beanstalk returns a MissingRequiredParameter error.
    • *
    • SolutionStackName - string - Optional - This is an alternative to specifying a configuration name. If specified, AWS Elastic Beanstalk sets the configuration values to the default values associated with the specified solution stack. Condition: You must specify either this or a TemplateName, but not both. If you specify both, AWS Elastic Beanstalk returns an InvalidParameterCombination error. If you do not specify either, AWS Elastic Beanstalk returns a MissingRequiredParameter error.
    • *
    • CNAMEPrefix - string - Optional - If specified, the environment attempts to use this value as the prefix for the CNAME. If not specified, the environment uses the environment name.
    • *
    • Description - string - Optional - Describes this environment.
    • *
    • OptionSettings - array - Optional - If specified, AWS Elastic Beanstalk sets the specified configuration options to the requested value in the configuration set for the new environment. These override the values obtained from the solution stack or the configuration template.
        *
      • x - array - Optional - This represents a simple array index.
          *
        • Namespace - string - Optional - A unique namespace identifying the option's associated AWS resource.
        • *
        • OptionName - string - Optional - The name of the configuration option.
        • *
        • Value - string - Optional - The current value for the configuration option.
        • *
      • *
    • *
    • OptionsToRemove - array - Optional - A list of custom user-defined configuration options to remove from the configuration set for this new environment.
        *
      • x - array - Optional - This represents a simple array index.
          *
        • Namespace - string - Optional - A unique namespace identifying the option's associated AWS resource.
        • *
        • OptionName - string - Optional - The name of the configuration option.
        • *
      • *
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Creates the Amazon S3 storage location for the account.
    	 *  
    	 * This location is used to store user log files.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Deletes the specified application along with all associated versions and configurations. The
    	 * application versions will not be deleted from your Amazon S3 bucket.
    	 * 
    	 * 

    * You cannot delete an application that has a running environment. *

    * * @param string $application_name (Required) The name of the application to delete. * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • TerminateEnvByForce - boolean - Optional - When set to true, running environments will be terminated before deleting the application.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Deletes the specified version from the specified application.
    	 * 
    	 * 

    * You cannot delete an application version that is associated with a running environment. *

    * * @param string $application_name (Required) The name of the application to delete releases from. * @param string $version_label (Required) The label of the version to delete. * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • DeleteSourceBundle - boolean - Optional - Indicates whether to delete the associated source bundle from Amazon S3:
      • true: An attempt is made to delete the associated Amazon S3 source bundle specified at time of creation.
      • false: No action is taken on the Amazon S3 source bundle specified at time of creation.
      Valid Values: true | false
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Deletes the specified configuration template.
    	 * 
    	 * 

    * When you launch an environment using a configuration template, the environment gets a copy of * the template. You can delete or modify the environment's copy of the template without affecting * the running environment. *

    * * @param string $application_name (Required) The name of the application to delete the configuration template from. * @param string $template_name (Required) The name of the configuration template to delete. * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Deletes the draft configuration associated with the running environment.
    	 *  
    	 * Updating a running environment with any configuration changes creates a draft configuration
    	 * set. You can get the draft configuration using DescribeConfigurationSettings while
    	 * the update is in progress or if the update fails. The DeploymentStatus for the
    	 * draft configuration indicates whether the deployment is in process or has failed. The draft
    	 * configuration remains in existence until it is deleted with this action.
    	 *
    	 * @param string $application_name (Required) The name of the application the environment is associated with.
    	 * @param string $environment_name (Required) The name of the environment to delete the draft configuration from.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Returns descriptions for existing application versions.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • ApplicationName - string - Optional - If specified, AWS Elastic Beanstalk restricts the returned descriptions to only include ones that are associated with the specified application.
    • *
    • VersionLabels - string|array - Optional - If specified, restricts the returned descriptions to only include ones that have the specified version labels. Pass a string for a single value, or an indexed array for multiple values.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Returns the descriptions of existing applications.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • ApplicationNames - string|array - Optional - If specified, AWS Elastic Beanstalk restricts the returned descriptions to only include those with the specified names. Pass a string for a single value, or an indexed array for multiple values.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Describes the configuration options that are used in a particular configuration template or
    	 * environment, or that a specified solution stack defines. The description includes the values
    	 * the options, their default values, and an indication of the required action on a running
    	 * environment if an option value is changed.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • ApplicationName - string - Optional - The name of the application associated with the configuration template or environment. Only needed if you want to describe the configuration options associated with either the configuration template or environment.
    • *
    • TemplateName - string - Optional - The name of the configuration template whose configuration options you want to describe.
    • *
    • EnvironmentName - string - Optional - The name of the environment whose configuration options you want to describe.
    • *
    • SolutionStackName - string - Optional - The name of the solution stack whose configuration options you want to describe.
    • *
    • Options - array - Optional - If specified, restricts the descriptions to only the specified options.
        *
      • x - array - Optional - This represents a simple array index.
          *
        • Namespace - string - Optional - A unique namespace identifying the option's associated AWS resource.
        • *
        • OptionName - string - Optional - The name of the configuration option.
        • *
      • *
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Returns a description of the settings for the specified configuration set, that is, either a
    	 * configuration template or the configuration set associated with a running environment.
    	 *  
    	 * When describing the settings for the configuration set associated with a running environment,
    	 * it is possible to receive two sets of setting descriptions. One is the deployed configuration
    	 * set, and the other is a draft configuration of an environment that is either in the process of
    	 * deployment or that failed to deploy.
    	 *  
    	 * Related Topics
    	 * 
    	 * 
      *
    • DeleteEnvironmentConfiguration
    • *
    * * @param string $application_name (Required) The application for the environment or configuration template. * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • TemplateName - string - Optional - The name of the configuration template to describe. Conditional: You must specify either this parameter or an EnvironmentName, but not both. If you specify both, AWS Elastic Beanstalk returns an InvalidParameterCombination error. If you do not specify either, AWS Elastic Beanstalk returns a MissingRequiredParameter error.
    • *
    • EnvironmentName - string - Optional - The name of the environment to describe. Condition: You must specify either this or a TemplateName, but not both. If you specify both, AWS Elastic Beanstalk returns an InvalidParameterCombination error. If you do not specify either, AWS Elastic Beanstalk returns MissingRequiredParameter error.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Returns AWS resources for this environment.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • EnvironmentId - string - Optional - The ID of the environment to retrieve AWS resource usage data. Condition: You must specify either this or an EnvironmentName, or both. If you do not specify either, AWS Elastic Beanstalk returns MissingRequiredParameter error.
    • *
    • EnvironmentName - string - Optional - The name of the environment to retrieve AWS resource usage data. Condition: You must specify either this or an EnvironmentId, or both. If you do not specify either, AWS Elastic Beanstalk returns MissingRequiredParameter error.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Returns descriptions for existing environments.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • ApplicationName - string - Optional - If specified, AWS Elastic Beanstalk restricts the returned descriptions to include only those that are associated with this application.
    • *
    • VersionLabel - string - Optional - If specified, AWS Elastic Beanstalk restricts the returned descriptions to include only those that are associated with this application version.
    • *
    • EnvironmentIds - string|array - Optional - If specified, AWS Elastic Beanstalk restricts the returned descriptions to include only those that have the specified IDs. Pass a string for a single value, or an indexed array for multiple values.
    • *
    • EnvironmentNames - string|array - Optional - If specified, AWS Elastic Beanstalk restricts the returned descriptions to include only those that have the specified names. Pass a string for a single value, or an indexed array for multiple values.
    • *
    • IncludeDeleted - boolean - Optional - Indicates whether to include deleted environments: true: Environments that have been deleted after IncludedDeletedBackTo are displayed. false: Do not include deleted environments.
    • *
    • IncludedDeletedBackTo - string - Optional - If specified when IncludeDeleted is set to true, then environments deleted after this date are displayed. May be passed as a number of seconds since UNIX Epoch, or any string compatible with .
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Returns list of event descriptions matching criteria up to the last 6 weeks.
    	 * 
    	 * 

    * This action returns the most recent 1,000 events from the specified NextToken. *

    * * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • ApplicationName - string - Optional - If specified, AWS Elastic Beanstalk restricts the returned descriptions to include only those associated with this application.
    • *
    • VersionLabel - string - Optional - If specified, AWS Elastic Beanstalk restricts the returned descriptions to those associated with this application version.
    • *
    • TemplateName - string - Optional - If specified, AWS Elastic Beanstalk restricts the returned descriptions to those that are associated with this environment configuration.
    • *
    • EnvironmentId - string - Optional - If specified, AWS Elastic Beanstalk restricts the returned descriptions to those associated with this environment.
    • *
    • EnvironmentName - string - Optional - If specified, AWS Elastic Beanstalk restricts the returned descriptions to those associated with this environment.
    • *
    • RequestId - string - Optional - If specified, AWS Elastic Beanstalk restricts the described events to include only those associated with this request ID.
    • *
    • Severity - string - Optional - If specified, limits the events returned from this call to include only those with the specified severity or higher. [Allowed values: TRACE, DEBUG, INFO, WARN, ERROR, FATAL]
    • *
    • StartTime - string - Optional - If specified, AWS Elastic Beanstalk restricts the returned descriptions to those that occur on or after this time. May be passed as a number of seconds since UNIX Epoch, or any string compatible with .
    • *
    • EndTime - string - Optional - If specified, AWS Elastic Beanstalk restricts the returned descriptions to those that occur up to, but not including, the EndTime. May be passed as a number of seconds since UNIX Epoch, or any string compatible with .
    • *
    • MaxRecords - integer - Optional - Specifies the maximum number of events that can be returned, beginning with the most recent event.
    • *
    • NextToken - string - Optional - Pagination token. If specified, the events return the next batch of results.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Returns a list of the available solution stack names.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Deletes and recreates all of the AWS resources (for example: the Auto Scaling group, load
    	 * balancer, etc.) for a specified environment and forces a restart.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • EnvironmentId - string - Optional - The ID of the environment to rebuild. Condition: You must specify either this or an EnvironmentName, or both. If you do not specify either, AWS Elastic Beanstalk returns MissingRequiredParameter error.
    • *
    • EnvironmentName - string - Optional - The name of the environment to rebuild. Condition: You must specify either this or an EnvironmentId, or both. If you do not specify either, AWS Elastic Beanstalk returns MissingRequiredParameter error.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Initiates a request to compile the specified type of information of the deployed environment.
    	 *  
    	 * Setting the InfoType to tail compiles the last lines from the
    	 * application server log files of every Amazon EC2 instance in your environment. Use
    	 * RetrieveEnvironmentInfo to access the compiled information.
    	 *  
    	 * Related Topics
    	 * 
    	 * 
      *
    • RetrieveEnvironmentInfo
    • *
    * * @param string $info_type (Required) The type of information to request. [Allowed values: tail] * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • EnvironmentId - string - Optional - The ID of the environment of the requested data. If no such environment is found, RequestEnvironmentInfo returns an InvalidParameterValue error. Condition: You must specify either this or an EnvironmentName, or both. If you do not specify either, AWS Elastic Beanstalk returns MissingRequiredParameter error.
    • *
    • EnvironmentName - string - Optional - The name of the environment of the requested data. If no such environment is found, RequestEnvironmentInfo returns an InvalidParameterValue error. Condition: You must specify either this or an EnvironmentId, or both. If you do not specify either, AWS Elastic Beanstalk returns MissingRequiredParameter error.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Causes the environment to restart the application container server running on each Amazon EC2
    	 * instance.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • EnvironmentId - string - Optional - The ID of the environment to restart the server for. Condition: You must specify either this or an EnvironmentName, or both. If you do not specify either, AWS Elastic Beanstalk returns MissingRequiredParameter error.
    • *
    • EnvironmentName - string - Optional - The name of the environment to restart the server for. Condition: You must specify either this or an EnvironmentId, or both. If you do not specify either, AWS Elastic Beanstalk returns MissingRequiredParameter error.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Retrieves the compiled information from a RequestEnvironmentInfo request.
    	 *  
    	 * Related Topics
    	 * 
    	 * 
      *
    • RequestEnvironmentInfo
    • *
    * * @param string $info_type (Required) The type of information to retrieve. [Allowed values: tail] * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • EnvironmentId - string - Optional - The ID of the data's environment. If no such environment is found, returns an InvalidParameterValue error. Condition: You must specify either this or an EnvironmentName, or both. If you do not specify either, AWS Elastic Beanstalk returns MissingRequiredParameter error.
    • *
    • EnvironmentName - string - Optional - The name of the data's environment. If no such environment is found, returns an InvalidParameterValue error. Condition: You must specify either this or an EnvironmentId, or both. If you do not specify either, AWS Elastic Beanstalk returns MissingRequiredParameter error.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Swaps the CNAMEs of two environments.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • SourceEnvironmentId - string - Optional - The ID of the source environment. Condition: You must specify at least the SourceEnvironmentID or the SourceEnvironmentName. You may also specify both. If you specify the SourceEnvironmentId, you must specify the DestinationEnvironmentId.
    • *
    • SourceEnvironmentName - string - Optional - The name of the source environment. Condition: You must specify at least the SourceEnvironmentID or the SourceEnvironmentName. You may also specify both. If you specify the SourceEnvironmentName, you must specify the DestinationEnvironmentName.
    • *
    • DestinationEnvironmentId - string - Optional - The ID of the destination environment. Condition: You must specify at least the DestinationEnvironmentID or the DestinationEnvironmentName. You may also specify both. You must specify the SourceEnvironmentId with the DestinationEnvironmentId.
    • *
    • DestinationEnvironmentName - string - Optional - The name of the destination environment. Condition: You must specify at least the DestinationEnvironmentID or the DestinationEnvironmentName. You may also specify both. You must specify the SourceEnvironmentName with the DestinationEnvironmentName.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Terminates the specified environment.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • EnvironmentId - string - Optional - The ID of the environment to terminate. Condition: You must specify either this or an EnvironmentName, or both. If you do not specify either, AWS Elastic Beanstalk returns MissingRequiredParameter error.
    • *
    • EnvironmentName - string - Optional - The name of the environment to terminate. Condition: You must specify either this or an EnvironmentId, or both. If you do not specify either, AWS Elastic Beanstalk returns MissingRequiredParameter error.
    • *
    • TerminateResources - boolean - Optional - Indicates whether the associated AWS resources should shut down when the environment is terminated: true: (default) The user AWS resources (for example, the Auto Scaling group, LoadBalancer, etc.) are terminated along with the environment. false: The environment is removed from the AWS Elastic Beanstalk but the AWS resources continue to operate.
      • true: The specified environment as well as the associated AWS resources, such as Auto Scaling group and LoadBalancer, are terminated.
      • false: AWS Elastic Beanstalk resource management is removed from the environment, but the AWS resources continue to operate.
      For more information, see the AWS Elastic Beanstalk User Guide. Default: true Valid Values: true | false
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Updates the specified application to have the specified properties.
    	 * 
    	 * 

    * If a property (for example, description) is not provided, the value remains * unchanged. To clear these properties, specify an empty string. *

    * * @param string $application_name (Required) The name of the application to update. If no such application is found, UpdateApplication returns an InvalidParameterValue error. * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • Description - string - Optional - A new description for the application. Default: If not specified, AWS Elastic Beanstalk does not update the description.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Updates the specified application version to have the specified properties.
    	 * 
    	 * 

    * If a property (for example, description) is not provided, the value remains * unchanged. To clear properties, specify an empty string. *

    * * @param string $application_name (Required) The name of the application associated with this version. If no application is found with this name, UpdateApplication returns an InvalidParameterValue error. * @param string $version_label (Required) The name of the version to update. If no application version is found with this label, UpdateApplication returns an InvalidParameterValue error. * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • Description - string - Optional - A new description for this release.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Updates the specified configuration template to have the specified properties or configuration
    	 * option values.
    	 * 
    	 * 

    * If a property (for example, ApplicationName) is not provided, its value remains * unchanged. To clear such properties, specify an empty string. *

    * Related Topics * *
      *
    • DescribeConfigurationOptions
    • *
    * * @param string $application_name (Required) The name of the application associated with the configuration template to update. If no application is found with this name, UpdateConfigurationTemplate returns an InvalidParameterValue error. * @param string $template_name (Required) The name of the configuration template to update. If no configuration template is found with this name, UpdateConfigurationTemplate returns an InvalidParameterValue error. * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • Description - string - Optional - A new description for the configuration.
    • *
    • OptionSettings - array - Optional - A list of configuration option settings to update with the new specified option value.
        *
      • x - array - Optional - This represents a simple array index.
          *
        • Namespace - string - Optional - A unique namespace identifying the option's associated AWS resource.
        • *
        • OptionName - string - Optional - The name of the configuration option.
        • *
        • Value - string - Optional - The current value for the configuration option.
        • *
      • *
    • *
    • OptionsToRemove - array - Optional - A list of configuration options to remove from the configuration set. Constraint: You can remove only UserDefined configuration options.
        *
      • x - array - Optional - This represents a simple array index.
          *
        • Namespace - string - Optional - A unique namespace identifying the option's associated AWS resource.
        • *
        • OptionName - string - Optional - The name of the configuration option.
        • *
      • *
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Updates the environment description, deploys a new application version, updates the
    	 * configuration settings to an entirely new configuration template, or updates select
    	 * configuration option values in the running environment.
    	 *  
    	 * Attempting to update both the release and configuration is not allowed and AWS Elastic
    	 * Beanstalk returns an InvalidParameterCombination error.
    	 *  
    	 * When updating the configuration settings to a new template or individual settings, a draft
    	 * configuration is created and DescribeConfigurationSettings for this environment
    	 * returns two setting descriptions with different DeploymentStatus values.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • EnvironmentId - string - Optional - The ID of the environment to update. If no environment with this ID exists, AWS Elastic Beanstalk returns an InvalidParameterValue error. Condition: You must specify either this or an EnvironmentName, or both. If you do not specify either, AWS Elastic Beanstalk returns MissingRequiredParameter error.
    • *
    • EnvironmentName - string - Optional - The name of the environment to update. If no environment with this name exists, AWS Elastic Beanstalk returns an InvalidParameterValue error. Condition: You must specify either this or an EnvironmentId, or both. If you do not specify either, AWS Elastic Beanstalk returns MissingRequiredParameter error.
    • *
    • VersionLabel - string - Optional - If this parameter is specified, AWS Elastic Beanstalk deploys the named application version to the environment. If no such application version is found, returns an InvalidParameterValue error.
    • *
    • TemplateName - string - Optional - If this parameter is specified, AWS Elastic Beanstalk deploys this configuration template to the environment. If no such configuration template is found, AWS Elastic Beanstalk returns an InvalidParameterValue error.
    • *
    • Description - string - Optional - If this parameter is specified, AWS Elastic Beanstalk updates the description of this environment.
    • *
    • OptionSettings - array - Optional - If specified, AWS Elastic Beanstalk updates the configuration set associated with the running environment and sets the specified configuration options to the requested value.
        *
      • x - array - Optional - This represents a simple array index.
          *
        • Namespace - string - Optional - A unique namespace identifying the option's associated AWS resource.
        • *
        • OptionName - string - Optional - The name of the configuration option.
        • *
        • Value - string - Optional - The current value for the configuration option.
        • *
      • *
    • *
    • OptionsToRemove - array - Optional - A list of custom user-defined configuration options to remove from the configuration set for this environment.
        *
      • x - array - Optional - This represents a simple array index.
          *
        • Namespace - string - Optional - A unique namespace identifying the option's associated AWS resource.
        • *
        • OptionName - string - Optional - The name of the configuration option.
        • *
      • *
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Takes a set of configuration settings and either a configuration template or environment, and
    	 * determines whether those values are valid.
    	 *  
    	 * This action returns a list of messages indicating any errors or warnings associated with the
    	 * selection of option values.
    	 *
    	 * @param string $application_name (Required) The name of the application that the configuration template or environment belongs to.
    	 * @param array $option_settings (Required) A list of the options and desired values to evaluate. 
      *
    • x - array - Optional - This represents a simple array index.
        *
      • Namespace - string - Optional - A unique namespace identifying the option's associated AWS resource.
      • *
      • OptionName - string - Optional - The name of the configuration option.
      • *
      • Value - string - Optional - The current value for the configuration option.
      • *
    • *
    * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • TemplateName - string - Optional - The name of the configuration template to validate the settings against. Condition: You cannot specify both this and an environment name.
    • *
    • EnvironmentName - string - Optional - The name of the environment to validate the settings against. Condition: You cannot specify both this and a configuration template name.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    /*%******************************************************************************************%*/
    

    Class: ElasticBeanstalk_Exception extends Exception {


    File: /destinations/_s3lib/aws-sdk/services/elb.class.php

    /*
     * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
     *
     * Licensed under the Apache License, Version 2.0 (the "License").
     * You may not use this file except in compliance with the License.
     * A copy of the License is located at
     *
     *  http://aws.amazon.com/apache2.0
     *
     * or in the "license" file accompanying this file. This file is distributed
     * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
     * express or implied. See the License for the specific language governing
     * permissions and limitations under the License.
     */
    
    /**
     * Elastic Load Balancing is a cost-effective and easy to use web service to help you improve
     * availability and scalability of your application. It makes it easy for you to distribute
     * application loads between two or more EC2 instances. Elastic Load Balancing enables
     * availability through redundancy and supports traffic growth of your application.
     *  
     * This guide provides detailed information about Elastic Load Balancing actions, data types,
     * parameters, and errors.
     *  
     * Query requests are HTTP or HTTPS requests that use the HTTP verb GET or POST and a Query
     * parameter named Action or Operation. Action is used throughout this documentation, although
     * Operation is supported for backward compatibility with other AWS Query APIs.
     *  
     * This reference guide is based on the current WSDL, which is available at: 
     *  
     * For detailed information on constructing a query request using the actions, data types, and
     * parameters mentioned in this guide, go toUsing
     * the Query API in the Elastic Load Balancing Developer Guide.
     *  
     * For detailed information about Elastic Load Balancing features and their associated API calls,
     * go to 
     * Using Elastic Load Balancing in the Elastic Load Balancing Developer Guide.
     *
     * @version 2013.01.14
     * @license See the included NOTICE.md file for complete information.
     * @copyright See the included NOTICE.md file for complete information.
     * @link http://aws.amazon.com/elasticloadbalancing/ Elastic Load Balancing
     * @link http://aws.amazon.com/elasticloadbalancing/documentation/ Elastic Load Balancing documentation
     */
    
    	/*%******************************************************************************************%*/
    
    	/**
    	 * Specify the queue URL for the United States East (Northern Virginia) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the United States East (Northern Virginia) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the United States West (Northern California) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the United States West (Northern California) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the United States West (Oregon) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the United States West (Oregon) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the Europe West (Ireland) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the Europe West (Ireland) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the Asia Pacific Southeast (Singapore) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the Asia Pacific Southeast (Singapore) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the Asia Pacific Southeast (Singapore) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the Asia Pacific Southeast (Singapore) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the Asia Pacific Northeast (Tokyo) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the Asia Pacific Northeast (Tokyo) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the South America (Sao Paulo) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the South America (Sao Paulo) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the United States GovCloud Region.
    	 */
    
    	/**
    	 * Default service endpoint.
    	 */
    
    	/*%******************************************************************************************%*/
    
    	/**
    	 * Constructs a new instance of .
    	 *
    	 * @param array $options (Optional) An associative array of parameters that can have the following keys: 
      *
    • certificate_authority - boolean - Optional - Determines which Cerificate Authority file to use. A value of boolean false will use the Certificate Authority file available on the system. A value of boolean true will use the Certificate Authority provided by the SDK. Passing a file system path to a Certificate Authority file (chmodded to 0755) will use that. Leave this set to false if you're not sure.
    • *
    • credentials - string - Optional - The name of the credential set to use for authentication.
    • *
    • default_cache_config - string - Optional - This option allows a preferred storage type to be configured for long-term caching. This can be changed later using the method. Valid values are: apc, xcache, or a file system path such as ./cache or /tmp/cache/.
    • *
    • key - string - Optional - Your AWS key, or a session key. If blank, the default credential set will be used.
    • *
    • secret - string - Optional - Your AWS secret key, or a session secret key. If blank, the default credential set will be used.
    • *
    • token - string - Optional - An AWS session token.
    * @return void */
    	/*%******************************************************************************************%*/
    
    	/**
    	 * This allows you to explicitly sets the region for the service to use.
    	 *
    	 * @param string $region (Required) The region to explicitly set. Available options are , , , , , , , , .
    	 * @return $this A reference to the current instance.
    	 */
    
    	/*%******************************************************************************************%*/
    
    	/**
    	 * Associates one or more security groups with your LoadBalancer in VPC. The provided security
    	 * group IDs will override any currently applied security groups.
    	 *
    	 * @param string $load_balancer_name (Required) The name associated with the LoadBalancer. The name must be unique within the client AWS account.
    	 * @param string|array $security_groups (Required) A list of security group IDs to associate with your LoadBalancer in VPC. The security group IDs must be provided as the ID and not the security group name (For example, sg-1234). Pass a string for a single value, or an indexed array for multiple values.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Adds one or more subnets to the set of configured subnets in the VPC for the LoadBalancer.
    	 *  
    	 * The Loadbalancers evenly distribute requests across all of the registered subnets.
    	 *
    	 * @param string $load_balancer_name (Required) The name associated with the LoadBalancer. The name must be unique within the client AWS account.
    	 * @param string|array $subnets (Required) A list of subnet IDs to add for the LoadBalancer. Pass a string for a single value, or an indexed array for multiple values.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Enables the client to define an application healthcheck for the instances.
    	 *
    	 * @param string $load_balancer_name (Required) The mnemonic name associated with the LoadBalancer. This name must be unique within the client AWS account.
    	 * @param array $health_check (Required) A structure containing the configuration information for the new healthcheck. 
      *
    • x - array - Optional - This represents a simple array index.
        *
      • Target - string - Required - Specifies the instance being checked. The protocol is either TCP, HTTP, HTTPS, or SSL. The range of valid ports is one (1) through 65535.

        TCP is the default, specified as a TCP: port pair, for example "TCP:5000". In this case a healthcheck simply attempts to open a TCP connection to the instance on the specified port. Failure to connect within the configured timeout is considered unhealthy. SSL is also specified as SSL: port pair, for example, SSL:5000. For HTTP or HTTPS protocol, the situation is different. You have to include a ping path in the string. HTTP is specified as a HTTP:port;/;PathToPing; grouping, for example "HTTP:80/weather/us/wa/seattle". In this case, a HTTP GET request is issued to the instance on the given port and path. Any answer other than "200 OK" within the timeout period is considered unhealthy. The total length of the HTTP ping target needs to be 1024 16-bit Unicode characters or less.

      • *
      • Interval - integer - Required - Specifies the approximate interval, in seconds, between health checks of an individual instance.
      • *
      • Timeout - integer - Required - Specifies the amount of time, in seconds, during which no response means a failed health probe.

        This value must be less than the Interval value.

      • *
      • UnhealthyThreshold - integer - Required - Specifies the number of consecutive health probe failures required before moving the instance to the Unhealthy state.
      • *
      • HealthyThreshold - integer - Required - Specifies the number of consecutive health probe successes required before moving the instance to the Healthy state.
      • *
    • *
    * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Generates a stickiness policy with sticky session lifetimes that follow that of an
    	 * application-generated cookie. This policy can be associated only with HTTP/HTTPS listeners.
    	 *  
    	 * This policy is similar to the policy created by CreateLBCookieStickinessPolicy, except that the
    	 * lifetime of the special Elastic Load Balancing cookie follows the lifetime of the
    	 * application-generated cookie specified in the policy configuration. The LoadBalancer only
    	 * inserts a new stickiness cookie when the application response includes a new application
    	 * cookie.
    	 *  
    	 * If the application cookie is explicitly removed or expires, the session stops being sticky
    	 * until a new application cookie is issued.
    	 * 
    	 * 

    * An application client must receive and send two cookies: the application-generated cookie and * the special Elastic Load Balancing cookie named AWSELB. This is the default * behavior for many common web browsers. *

    * * @param string $load_balancer_name (Required) The name associated with the LoadBalancer. The name must be unique within the client AWS account. * @param string $policy_name (Required) The name of the policy being created. The name must be unique within the set of policies for this LoadBalancer. * @param string $cookie_name (Required) Name of the application cookie used for stickiness. * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Generates a stickiness policy with sticky session lifetimes controlled by the lifetime of the
    	 * browser (user-agent) or a specified expiration period. This policy can be associated only with
    	 * HTTP/HTTPS listeners.
    	 *  
    	 * When a LoadBalancer implements this policy, the LoadBalancer uses a special cookie to track the
    	 * backend server instance for each request. When the LoadBalancer receives a request, it first
    	 * checks to see if this cookie is present in the request. If so, the LoadBalancer sends the
    	 * request to the application server specified in the cookie. If not, the LoadBalancer sends the
    	 * request to a server that is chosen based on the existing load balancing algorithm.
    	 *  
    	 * A cookie is inserted into the response for binding subsequent requests from the same user to
    	 * that server. The validity of the cookie is based on the cookie expiration time, which is
    	 * specified in the policy configuration.
    	 *
    	 * @param string $load_balancer_name (Required) The name associated with the LoadBalancer. The name must be unique within the client AWS account.
    	 * @param string $policy_name (Required) The name of the policy being created. The name must be unique within the set of policies for this LoadBalancer.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • CookieExpirationPeriod - long - Optional - The time period in seconds after which the cookie should be considered stale. Not specifying this parameter indicates that the sticky session will last for the duration of the browser session.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Creates a new LoadBalancer.
    	 *  
    	 * After the call has completed successfully, a new LoadBalancer is created; however, it will not
    	 * be usable until at least one instance has been registered. When the LoadBalancer creation is
    	 * completed, the client can check whether or not it is usable by using the DescribeInstanceHealth
    	 * API. The LoadBalancer is usable as soon as any registered instance is InService.
    	 * 
    	 * 

    * Currently, the client's quota of LoadBalancers is limited to ten per Region. *

    *

    * LoadBalancer DNS names vary depending on the Region they're created in. For LoadBalancers * created in the United States, the DNS name ends with: * *
      *
    • us-east-1.elb.amazonaws.com (for the US Standard Region)
    • *
    • us-west-1.elb.amazonaws.com (for the Northern California Region)
    • *
    * * For LoadBalancers created in the EU (Ireland) Region, the DNS name ends with: * *
      *
    • eu-west-1.elb.amazonaws.com
    • *
    * * @param string $load_balancer_name (Required) The name associated with the LoadBalancer. The name must be unique within your set of LoadBalancers. * @param array $listeners (Required) A list of the following tuples: LoadBalancerPort, InstancePort, and Protocol.
      *
    • x - array - Optional - This represents a simple array index.
        *
      • Protocol - string - Required - Specifies the LoadBalancer transport protocol to use for routing - HTTP, HTTPS, TCP or SSL. This property cannot be modified for the life of the LoadBalancer.
      • *
      • LoadBalancerPort - integer - Required - Specifies the external LoadBalancer port number. This property cannot be modified for the life of the LoadBalancer.
      • *
      • InstanceProtocol - string - Optional - Specifies the protocol to use for routing traffic to back-end instances - HTTP, HTTPS, TCP, or SSL. This property cannot be modified for the life of the LoadBalancer.

        If the front-end protocol is HTTP or HTTPS, InstanceProtocol has to be at the same protocol layer, i.e., HTTP or HTTPS. Likewise, if the front-end protocol is TCP or SSL, InstanceProtocol has to be TCP or SSL.

        If there is another listener with the same InstancePort whose InstanceProtocol is secure, i.e., HTTPS or SSL, the listener's InstanceProtocol has to be secure, i.e., HTTPS or SSL. If there is another listener with the same InstancePort whose InstanceProtocol is HTTP or TCP, the listener's InstanceProtocol must be either HTTP or TCP.

      • *
      • InstancePort - integer - Required - Specifies the TCP port on which the instance server is listening. This property cannot be modified for the life of the LoadBalancer.
      • *
      • SSLCertificateId - string - Optional - The ARN string of the server certificate. To get the ARN of the server certificate, call the AWS Identity and Access Management UploadServerCertificate API.
      • *
    • *
    * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • AvailabilityZones - string|array - Optional - A list of Availability Zones. At least one Availability Zone must be specified. Specified Availability Zones must be in the same EC2 Region as the LoadBalancer. Traffic will be equally distributed across all zones. This list can be modified after the creation of the LoadBalancer. Pass a string for a single value, or an indexed array for multiple values.
    • *
    • Subnets - string|array - Optional - A list of subnet IDs in your VPC to attach to your LoadBalancer. Pass a string for a single value, or an indexed array for multiple values.
    • *
    • SecurityGroups - string|array - Optional - The security groups assigned to your LoadBalancer within your VPC. Pass a string for a single value, or an indexed array for multiple values.
    • *
    • Scheme - string - Optional - The type of a LoadBalancer. This option is only available for LoadBalancers attached to a Amazon VPC. By default, Elastic Load Balancer creates an internet-facing load balancer with publicly resolvable DNS name that resolves to public IP addresses. Specify the value internal for this option to create an internal load balancer with a DNS name that resolves to private IP addresses.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Creates one or more listeners on a LoadBalancer for the specified port. If a listener with the
    	 * given port does not already exist, it will be created; otherwise, the properties of the new
    	 * listener must match the properties of the existing listener.
    	 *
    	 * @param string $load_balancer_name (Required) The name of the new LoadBalancer. The name must be unique within your AWS account.
    	 * @param array $listeners (Required) A list of LoadBalancerPort, InstancePort, Protocol, and SSLCertificateId items. 
      *
    • x - array - Optional - This represents a simple array index.
        *
      • Protocol - string - Required - Specifies the LoadBalancer transport protocol to use for routing - HTTP, HTTPS, TCP or SSL. This property cannot be modified for the life of the LoadBalancer.
      • *
      • LoadBalancerPort - integer - Required - Specifies the external LoadBalancer port number. This property cannot be modified for the life of the LoadBalancer.
      • *
      • InstanceProtocol - string - Optional - Specifies the protocol to use for routing traffic to back-end instances - HTTP, HTTPS, TCP, or SSL. This property cannot be modified for the life of the LoadBalancer.

        If the front-end protocol is HTTP or HTTPS, InstanceProtocol has to be at the same protocol layer, i.e., HTTP or HTTPS. Likewise, if the front-end protocol is TCP or SSL, InstanceProtocol has to be TCP or SSL.

        If there is another listener with the same InstancePort whose InstanceProtocol is secure, i.e., HTTPS or SSL, the listener's InstanceProtocol has to be secure, i.e., HTTPS or SSL. If there is another listener with the same InstancePort whose InstanceProtocol is HTTP or TCP, the listener's InstanceProtocol must be either HTTP or TCP.

      • *
      • InstancePort - integer - Required - Specifies the TCP port on which the instance server is listening. This property cannot be modified for the life of the LoadBalancer.
      • *
      • SSLCertificateId - string - Optional - The ARN string of the server certificate. To get the ARN of the server certificate, call the AWS Identity and Access Management UploadServerCertificate API.
      • *
    • *
    * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Creates a new policy that contains the necessary attributes depending on the policy type.
    	 * Policies are settings that are saved for your Elastic LoadBalancer and that can be applied to
    	 * the front-end listener, or the back-end application server, depending on your policy type.
    	 *
    	 * @param string $load_balancer_name (Required) The name associated with the LoadBalancer for which the policy is being created. This name must be unique within the client AWS account.
    	 * @param string $policy_name (Required) The name of the LoadBalancer policy being created. The name must be unique within the set of policies for this LoadBalancer.
    	 * @param string $policy_type_name (Required) The name of the base policy type being used to create this policy. To get the list of policy types, use the DescribeLoadBalancerPolicyTypes action.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • PolicyAttributes - array - Optional - A list of attributes associated with the policy being created.
        *
      • x - array - Optional - This represents a simple array index.
          *
        • AttributeName - string - Optional - The name of the attribute associated with the policy.
        • *
        • AttributeValue - string - Optional - The value of the attribute associated with the policy.
        • *
      • *
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Deletes the specified LoadBalancer.
    	 *  
    	 * If attempting to recreate the LoadBalancer, the client must reconfigure all the settings. The
    	 * DNS name associated with a deleted LoadBalancer will no longer be usable. Once deleted, the
    	 * name and associated DNS record of the LoadBalancer no longer exist and traffic sent to any of
    	 * its IP addresses will no longer be delivered to client instances. The client will not receive
    	 * the same DNS name even if a new LoadBalancer with same LoadBalancerName is created.
    	 *  
    	 * To successfully call this API, the client must provide the same account credentials as were
    	 * used to create the LoadBalancer.
    	 * 
    	 * 

    * By design, if the LoadBalancer does not exist or has already been deleted, DeleteLoadBalancer * still succeeds. *

    * * @param string $load_balancer_name (Required) The name associated with the LoadBalancer. The name must be unique within the client AWS account. * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Deletes listeners from the LoadBalancer for the specified port.
    	 *
    	 * @param string $load_balancer_name (Required) The mnemonic name associated with the LoadBalancer.
    	 * @param integer $load_balancer_ports (Required) The client port number(s) of the LoadBalancerListener(s) to be removed.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Deletes a policy from the LoadBalancer. The specified policy must not be enabled for any
    	 * listeners.
    	 *
    	 * @param string $load_balancer_name (Required) The mnemonic name associated with the LoadBalancer. The name must be unique within your AWS account.
    	 * @param string $policy_name (Required) The mnemonic name for the policy being deleted.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Deregisters instances from the LoadBalancer. Once the instance is deregistered, it will stop
    	 * receiving traffic from the LoadBalancer.
    	 *  
    	 * In order to successfully call this API, the same account credentials as those used to create
    	 * the LoadBalancer must be provided.
    	 *
    	 * @param string $load_balancer_name (Required) The name associated with the LoadBalancer. The name must be unique within the client AWS account.
    	 * @param array $instances (Required) A list of EC2 instance IDs consisting of all instances to be deregistered. 
      *
    • x - array - Optional - This represents a simple array index.
        *
      • InstanceId - string - Optional - Provides an EC2 instance ID.
      • *
    • *
    * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Returns the current state of the instances of the specified LoadBalancer. If no instances are
    	 * specified, the state of all the instances for the LoadBalancer is returned.
    	 * 
    	 * 

    * The client must have created the specified input LoadBalancer in order to retrieve this * information; the client must provide the same account credentials as those that were used to * create the LoadBalancer. *

    * * @param string $load_balancer_name (Required) The name associated with the LoadBalancer. The name must be unique within the client AWS account. * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • Instances - array - Optional - A list of instance IDs whose states are being queried.
        *
      • x - array - Optional - This represents a simple array index.
          *
        • InstanceId - string - Optional - Provides an EC2 instance ID.
        • *
      • *
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Returns detailed descriptions of the policies. If you specify a LoadBalancer name, the
    	 * operation returns either the descriptions of the specified policies, or descriptions of all the
    	 * policies created for the LoadBalancer. If you don't specify a LoadBalancer name, the operation
    	 * returns descriptions of the specified sample policies, or descriptions of all the sample
    	 * policies. The names of the sample policies have the ELBSample- prefix.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • LoadBalancerName - string - Optional - The mnemonic name associated with the LoadBalancer. If no name is specified, the operation returns the attributes of either all the sample policies pre-defined by Elastic Load Balancing or the specified sample polices.
    • *
    • PolicyNames - string|array - Optional - The names of LoadBalancer policies you've created or Elastic Load Balancing sample policy names. Pass a string for a single value, or an indexed array for multiple values.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Returns meta-information on the specified LoadBalancer policies defined by the Elastic Load
    	 * Balancing service. The policy types that are returned from this action can be used in a
    	 * CreateLoadBalancerPolicy action to instantiate specific policy configurations that
    	 * will be applied to an Elastic LoadBalancer.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • PolicyTypeNames - string|array - Optional - Specifies the name of the policy types. If no names are specified, returns the description of all the policy types defined by Elastic Load Balancing service. Pass a string for a single value, or an indexed array for multiple values.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Returns detailed configuration information for the specified LoadBalancers. If no LoadBalancers
    	 * are specified, the operation returns configuration information for all LoadBalancers created by
    	 * the caller.
    	 * 
    	 * 

    * The client must have created the specified input LoadBalancers in order to retrieve this * information; the client must provide the same account credentials as those that were used to * create the LoadBalancer. *

    * * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • LoadBalancerNames - string|array - Optional - A list of names associated with the LoadBalancers at creation time. Pass a string for a single value, or an indexed array for multiple values.
    • *
    • Marker - string - Optional - An optional parameter reserved for future use.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Removes subnets from the set of configured subnets in the VPC for the LoadBalancer.
    	 *  
    	 * After a subnet is removed all of the EndPoints registered with the LoadBalancer that are in the
    	 * removed subnet will go into the OutOfService state. When a subnet is removed, the
    	 * LoadBalancer will balance the traffic among the remaining routable subnets for the
    	 * LoadBalancer.
    	 *
    	 * @param string $load_balancer_name (Required) The name associated with the LoadBalancer to be detached. The name must be unique within the client AWS account.
    	 * @param string|array $subnets (Required) A list of subnet IDs to remove from the set of configured subnets for the LoadBalancer. Pass a string for a single value, or an indexed array for multiple values.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Removes the specified EC2 Availability Zones from the set of configured Availability Zones for
    	 * the LoadBalancer.
    	 *  
    	 * There must be at least one Availability Zone registered with a LoadBalancer at all times. A
    	 * client cannot remove all the Availability Zones from a LoadBalancer. Once an Availability Zone
    	 * is removed, all the instances registered with the LoadBalancer that are in the removed
    	 * Availability Zone go into the OutOfService state. Upon Availability Zone removal, the
    	 * LoadBalancer attempts to equally balance the traffic among its remaining usable Availability
    	 * Zones. Trying to remove an Availability Zone that was not associated with the LoadBalancer does
    	 * nothing.
    	 * 
    	 * 

    * In order for this call to be successful, the client must have created the LoadBalancer. The * client must provide the same account credentials as those that were used to create the * LoadBalancer. *

    * * @param string $load_balancer_name (Required) The name associated with the LoadBalancer. The name must be unique within the client AWS account. * @param string|array $availability_zones (Required) A list of Availability Zones to be removed from the LoadBalancer.

    There must be at least one Availability Zone registered with a LoadBalancer at all times. The client cannot remove all the Availability Zones from a LoadBalancer. Specified Availability Zones must be in the same Region.

    Pass a string for a single value, or an indexed array for multiple values. * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Adds one or more EC2 Availability Zones to the LoadBalancer.
    	 *  
    	 * The LoadBalancer evenly distributes requests across all its registered Availability Zones that
    	 * contain instances. As a result, the client must ensure that its LoadBalancer is appropriately
    	 * scaled for each registered Availability Zone.
    	 * 
    	 * 

    * The new EC2 Availability Zones to be added must be in the same EC2 Region as the Availability * Zones for which the LoadBalancer was created. *

    * * @param string $load_balancer_name (Required) The name associated with the LoadBalancer. The name must be unique within the client AWS account. * @param string|array $availability_zones (Required) A list of new Availability Zones for the LoadBalancer. Each Availability Zone must be in the same Region as the LoadBalancer. Pass a string for a single value, or an indexed array for multiple values. * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Adds new instances to the LoadBalancer.
    	 *  
    	 * Once the instance is registered, it starts receiving traffic and requests from the
    	 * LoadBalancer. Any instance that is not in any of the Availability Zones registered for the
    	 * LoadBalancer will be moved to the OutOfService state. It will move to the
    	 * InService state when the Availability Zone is added to the LoadBalancer.
    	 * 
    	 * 

    * In order for this call to be successful, the client must have created the LoadBalancer. The * client must provide the same account credentials as those that were used to create the * LoadBalancer. *

    *

    * Completion of this API does not guarantee that operation has completed. Rather, it means that * the request has been registered and the changes will happen shortly. *

    * * @param string $load_balancer_name (Required) The name associated with the LoadBalancer. The name must be unique within the client AWS account. * @param array $instances (Required) A list of instance IDs that should be registered with the LoadBalancer.

    When the instance is stopped and then restarted, the IP addresses associated with your instance changes. Elastic Load Balancing cannot recognize the new IP address, which prevents it from routing traffic to your instances. We recommend that you de-register your Amazon EC2 instances from your load balancer after you stop your instance, and then register the load balancer with your instance after you've restarted. To de-register your instances from load balancer, use DeregisterInstancesFromLoadBalancer action.

      *
    • x - array - Optional - This represents a simple array index.
        *
      • InstanceId - string - Optional - Provides an EC2 instance ID.
      • *
    • *
    * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Sets the certificate that terminates the specified listener's SSL connections. The specified
    	 * certificate replaces any prior certificate that was used on the same LoadBalancer and port.
    	 *
    	 * @param string $load_balancer_name (Required) The name of the the LoadBalancer.
    	 * @param integer $load_balancer_port (Required) The port that uses the specified SSL certificate.
    	 * @param string $ssl_certificate_id (Required) The ID of the SSL certificate chain to use. For more information on SSL certificates, see Managing Server Certificates in the AWS Identity and Access Management documentation.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Replaces the current set of policies associated with a port on which the back-end server is
    	 * listening with a new set of policies. After the policies have been created using
    	 * CreateLoadBalancerPolicy, they can be applied here as a list. At this time, only
    	 * the back-end server authentication policy type can be applied to the back-end ports; this
    	 * policy type is composed of multiple public key policies.
    	 *
    	 * @param string $load_balancer_name (Required) The mnemonic name associated with the LoadBalancer. This name must be unique within the client AWS account.
    	 * @param integer $instance_port (Required) The port number associated with the back-end server.
    	 * @param string|array $policy_names (Required) List of policy names to be set. If the list is empty, then all current polices are removed from the back-end server. Pass a string for a single value, or an indexed array for multiple values.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Associates, updates, or disables a policy with a listener on the LoadBalancer. You can
    	 * associate multiple policies with a listener.
    	 *
    	 * @param string $load_balancer_name (Required) The name associated with the LoadBalancer. The name must be unique within the client AWS account.
    	 * @param integer $load_balancer_port (Required) The external port of the LoadBalancer with which this policy applies to.
    	 * @param string|array $policy_names (Required) List of policies to be associated with the listener. Currently this list can have at most one policy. If the list is empty, the current policy is removed from the listener. Pass a string for a single value, or an indexed array for multiple values.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    /*%******************************************************************************************%*/
    

    Class: ELB_Exception extends Exception {


    File: /destinations/_s3lib/aws-sdk/services/emr.class.php

    /*
     * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
     *
     * Licensed under the Apache License, Version 2.0 (the "License").
     * You may not use this file except in compliance with the License.
     * A copy of the License is located at
     *
     *  http://aws.amazon.com/apache2.0
     *
     * or in the "license" file accompanying this file. This file is distributed
     * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
     * express or implied. See the License for the specific language governing
     * permissions and limitations under the License.
     */
    
    /**
     * This is the Amazon Elastic MapReduce API Reference. This guide provides descriptions
     * and samples of the Amazon Elastic MapReduce APIs.
     *  
     * Amazon Elastic MapReduce is a web service that makes it easy to process large amounts of data
     * efficiently. Elastic MapReduce uses Hadoop processing combined with several AWS products to do
     * tasks such as web indexing, data mining, log file analysis, machine learning, scientific
     * simulation, and data warehousing.
     *
     * @version 2013.01.14
     * @license See the included NOTICE.md file for complete information.
     * @copyright See the included NOTICE.md file for complete information.
     * @link http://aws.amazon.com/elasticmapreduce/ Amazon Elastic MapReduce
     * @link http://aws.amazon.com/elasticmapreduce/documentation/ Amazon Elastic MapReduce documentation
     */
    
    	/*%******************************************************************************************%*/
    
    	/**
    	 * Specify the queue URL for the United States East (Northern Virginia) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the United States East (Northern Virginia) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the United States West (Northern California) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the United States West (Northern California) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the United States West (Oregon) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the United States West (Oregon) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the Europe West (Ireland) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the Europe West (Ireland) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the Asia Pacific Southeast (Singapore) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the Asia Pacific Southeast (Singapore) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the Asia Pacific Southeast (Singapore) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the Asia Pacific Southeast (Singapore) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the Asia Pacific Northeast (Tokyo) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the Asia Pacific Northeast (Tokyo) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the South America (Sao Paulo) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the South America (Sao Paulo) Region.
    	 */
    
    	/**
    	 * Default service endpoint.
    	 */
    
    	/*%******************************************************************************************%*/
    
    	/**
    	 * Constructs a new instance of .
    	 *
    	 * @param array $options (Optional) An associative array of parameters that can have the following keys: 
      *
    • certificate_authority - boolean - Optional - Determines which Cerificate Authority file to use. A value of boolean false will use the Certificate Authority file available on the system. A value of boolean true will use the Certificate Authority provided by the SDK. Passing a file system path to a Certificate Authority file (chmodded to 0755) will use that. Leave this set to false if you're not sure.
    • *
    • credentials - string - Optional - The name of the credential set to use for authentication.
    • *
    • default_cache_config - string - Optional - This option allows a preferred storage type to be configured for long-term caching. This can be changed later using the method. Valid values are: apc, xcache, or a file system path such as ./cache or /tmp/cache/.
    • *
    • key - string - Optional - Your AWS key, or a session key. If blank, the default credential set will be used.
    • *
    • secret - string - Optional - Your AWS secret key, or a session secret key. If blank, the default credential set will be used.
    • *
    • token - string - Optional - An AWS session token.
    * @return void */
    	/*%******************************************************************************************%*/
    
    	/**
    	 * This allows you to explicitly sets the region for the service to use.
    	 *
    	 * @param string $region (Required) The region to explicitly set. Available options are , , , , , , , .
    	 * @return $this A reference to the current instance.
    	 */
    
    	/*%******************************************************************************************%*/
    
    	/**
    	 * AddInstanceGroups adds an instance group to a running cluster.
    	 *
    	 * @param array $instance_groups (Required) Instance Groups to add. 
      *
    • x - array - Optional - This represents a simple array index.
        *
      • Name - string - Optional - Friendly name given to the instance group. [Constraints: The value must be between 0 and 256 characters, and must match the following regular expression pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*]
      • *
      • Market - string - Optional - Market type of the Amazon EC2 instances used to create a cluster node. [Allowed values: ON_DEMAND, SPOT]
      • *
      • InstanceRole - string - Required - The role of the instance group in the cluster. [Allowed values: MASTER, CORE, TASK]
      • *
      • BidPrice - string - Optional - Bid price for each Amazon EC2 instance in the instance group when launching nodes as Spot Instances, expressed in USD. [Constraints: The value must be between 0 and 256 characters, and must match the following regular expression pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*]
      • *
      • InstanceType - string - Required - The Amazon EC2 instance type for all instances in the instance group. [Constraints: The value must be between 1 and 256 characters, and must match the following regular expression pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*]
      • *
      • InstanceCount - integer - Required - Target number of instances for the instance group.
      • *
    • *
    * @param string $job_flow_id (Required) Job flow in which to add the instance groups. [Constraints: The value must be between 0 and 256 characters, and must match the following regular expression pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*] * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * AddJobFlowSteps adds new steps to a running job flow. A maximum of 256 steps are allowed in
    	 * each job flow.
    	 *  
    	 * If your job flow is long-running (such as a Hive data warehouse) or complex, you may require
    	 * more than 256 steps to process your data. You can bypass the 256-step limitation in various
    	 * ways, including using the SSH shell to connect to the master node and submitting queries
    	 * directly to the software running on the master node, such as Hive and Hadoop. For more
    	 * information on how to do this, go to Add
    	 * More than 256 Steps to a Job Flow in the Amazon Elastic MapReduce Developer's
    	 * Guide.
    	 *  
    	 * A step specifies the location of a JAR file stored either on the master node of the job flow or
    	 * in Amazon S3. Each step is performed by the main function of the main class of the JAR file.
    	 * The main class can be specified either in the manifest of the JAR or by using the MainFunction
    	 * parameter of the step.
    	 *  
    	 * Elastic MapReduce executes each step in the order listed. For a step to be considered complete,
    	 * the main function must exit with a zero exit code and all Hadoop jobs started while the step
    	 * was running must have completed and run successfully.
    	 *  
    	 * You can only add steps to a job flow that is in one of the following states: STARTING,
    	 * BOOTSTRAPPING, RUNNING, or WAITING.
    	 *
    	 * @param string $job_flow_id (Required) A string that uniquely identifies the job flow. This identifier is returned by RunJobFlow and can also be obtained from DescribeJobFlows. [Constraints: The value must be between 0 and 256 characters, and must match the following regular expression pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*]
    	 * @param array $steps (Required) A list of StepConfig to be executed by the job flow. 
      *
    • x - array - Optional - This represents a simple array index.
        *
      • Name - string - Required - The name of the job flow step. [Constraints: The value must be between 0 and 256 characters, and must match the following regular expression pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*]
      • *
      • ActionOnFailure - string - Optional - Specifies the action to take if the job flow step fails. [Allowed values: TERMINATE_JOB_FLOW, CANCEL_AND_WAIT, CONTINUE]
      • *
      • HadoopJarStep - array - Required - Specifies the JAR file used for the job flow step.
          *
        • x - array - Optional - This represents a simple array index.
            *
          • Properties - array - Optional - A list of Java properties that are set when the step runs. You can use these properties to pass key value pairs to your main function.
              *
            • x - array - Optional - This represents a simple array index.
                *
              • Key - string - Optional - The unique identifier of a key value pair. [Constraints: The value must be between 0 and 10280 characters, and must match the following regular expression pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*]
              • *
              • Value - string - Optional - The value part of the identified key. [Constraints: The value must be between 0 and 10280 characters, and must match the following regular expression pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*]
              • *
            • *
          • *
          • Jar - string - Required - A path to a JAR file run during the step. [Constraints: The value must be between 0 and 10280 characters, and must match the following regular expression pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*]
          • *
          • MainClass - string - Optional - The name of the main class in the specified Java file. If not specified, the JAR file should specify a Main-Class in its manifest file. [Constraints: The value must be between 0 and 10280 characters, and must match the following regular expression pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*]
          • *
          • Args - string|array - Optional - A list of command line arguments passed to the JAR file's main function when executed. Pass a string for a single value, or an indexed array for multiple values.
          • *
        • *
      • *
    • *
    * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * DescribeJobFlows returns a list of job flows that match all of the supplied parameters. The
    	 * parameters can include a list of job flow IDs, job flow states, and restrictions on job flow
    	 * creation date and time.
    	 *  
    	 * Regardless of supplied parameters, only job flows created within the last two months are
    	 * returned.
    	 *  
    	 * If no parameters are supplied, then job flows matching either of the following criteria are
    	 * returned:
    	 * 
    	 * 
      *
    • Job flows created and completed in the last two weeks
    • *
    • Job flows created within the last two months that are in one of the following states: * RUNNING, WAITING, SHUTTING_DOWN, STARTING
    • *
    * * Amazon Elastic MapReduce can return a maximum of 512 job flow descriptions. * * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • CreatedAfter - string - Optional - Return only job flows created after this date and time. May be passed as a number of seconds since UNIX Epoch, or any string compatible with .
    • *
    • CreatedBefore - string - Optional - Return only job flows created before this date and time. May be passed as a number of seconds since UNIX Epoch, or any string compatible with .
    • *
    • JobFlowIds - string|array - Optional - Return only job flows whose job flow ID is contained in this list. Pass a string for a single value, or an indexed array for multiple values.
    • *
    • JobFlowStates - string|array - Optional - Return only job flows whose state is contained in this list. Pass a string for a single value, or an indexed array for multiple values.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * ModifyInstanceGroups modifies the number of nodes and configuration settings of an instance
    	 * group. The input parameters include the new target instance count for the group and the
    	 * instance group ID. The call will either succeed or fail atomically.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • InstanceGroups - array - Optional - Instance groups to change.
        *
      • x - array - Optional - This represents a simple array index.
          *
        • InstanceGroupId - string - Required - Unique ID of the instance group to expand or shrink. [Constraints: The value must be between 0 and 256 characters, and must match the following regular expression pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*]
        • *
        • InstanceCount - integer - Required - Target size for the instance group.
        • *
      • *
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * RunJobFlow creates and starts running a new job flow. The job flow will run the steps
    	 * specified. Once the job flow completes, the cluster is stopped and the HDFS partition is lost.
    	 * To prevent loss of data, configure the last step of the job flow to store results in Amazon S3.
    	 * If the JobFlowInstancesConfig KeepJobFlowAliveWhenNoSteps parameter
    	 * is set to TRUE, the job flow will transition to the WAITING state rather than
    	 * shutting down once the steps have completed.
    	 *  
    	 * For additional protection, you can set the JobFlowInstancesConfig
    	 * TerminationProtected parameter to TRUE to lock the job flow and
    	 * prevent it from being terminated by API call, user intervention, or in the event of a job flow
    	 * error.
    	 *  
    	 * A maximum of 256 steps are allowed in each job flow.
    	 *  
    	 * If your job flow is long-running (such as a Hive data warehouse) or complex, you may require
    	 * more than 256 steps to process your data. You can bypass the 256-step limitation in various
    	 * ways, including using the SSH shell to connect to the master node and submitting queries
    	 * directly to the software running on the master node, such as Hive and Hadoop. For more
    	 * information on how to do this, go to Add
    	 * More than 256 Steps to a Job Flow in the Amazon Elastic MapReduce Developer's
    	 * Guide.
    	 *  
    	 * For long running job flows, we recommend that you periodically store your results.
    	 *
    	 * @param string $name (Required) The name of the job flow. [Constraints: The value must be between 0 and 256 characters, and must match the following regular expression pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*]
    	 * @param array $instances (Required) A specification of the number and type of Amazon EC2 instances on which to run the job flow. 
      *
    • x - array - Optional - This represents a simple array index.
        *
      • MasterInstanceType - string - Optional - The EC2 instance type of the master node. [Constraints: The value must be between 1 and 256 characters, and must match the following regular expression pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*]
      • *
      • SlaveInstanceType - string - Optional - The EC2 instance type of the slave nodes. [Constraints: The value must be between 1 and 256 characters, and must match the following regular expression pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*]
      • *
      • InstanceCount - integer - Optional - The number of Amazon EC2 instances used to execute the job flow.
      • *
      • InstanceGroups - array - Optional - Configuration for the job flow's instance groups.
          *
        • x - array - Optional - This represents a simple array index.
            *
          • Name - string - Optional - Friendly name given to the instance group. [Constraints: The value must be between 0 and 256 characters, and must match the following regular expression pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*]
          • *
          • Market - string - Optional - Market type of the Amazon EC2 instances used to create a cluster node. [Allowed values: ON_DEMAND, SPOT]
          • *
          • InstanceRole - string - Required - The role of the instance group in the cluster. [Allowed values: MASTER, CORE, TASK]
          • *
          • BidPrice - string - Optional - Bid price for each Amazon EC2 instance in the instance group when launching nodes as Spot Instances, expressed in USD. [Constraints: The value must be between 0 and 256 characters, and must match the following regular expression pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*]
          • *
          • InstanceType - string - Required - The Amazon EC2 instance type for all instances in the instance group. [Constraints: The value must be between 1 and 256 characters, and must match the following regular expression pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*]
          • *
          • InstanceCount - integer - Required - Target number of instances for the instance group.
          • *
        • *
      • *
      • Ec2KeyName - string - Optional - Specifies the name of the Amazon EC2 key pair that can be used to ssh to the master node as the user called "hadoop." [Constraints: The value must be between 0 and 256 characters, and must match the following regular expression pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*]
      • *
      • Placement - array - Optional - Specifies the Availability Zone the job flow will run in.
          *
        • x - array - Optional - This represents a simple array index.
            *
          • AvailabilityZone - string - Required - The Amazon EC2 Availability Zone for the job flow. [Constraints: The value must be between 0 and 10280 characters, and must match the following regular expression pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*]
          • *
        • *
      • *
      • KeepJobFlowAliveWhenNoSteps - boolean - Optional - Specifies whether the job flow should terminate after completing all steps.
      • *
      • TerminationProtected - boolean - Optional - Specifies whether to lock the job flow to prevent the Amazon EC2 instances from being terminated by API call, user intervention, or in the event of a job flow error.
      • *
      • HadoopVersion - string - Optional - Specifies the Hadoop version for the job flow. Valid inputs are "0.18", "0.20", or "0.20.205". If you do not set this value, the default of 0.18 is used, unless the AmiVersion parameter is set in the RunJobFlow call, in which case the default version of Hadoop for that AMI version is used. [Constraints: The value must be between 0 and 256 characters, and must match the following regular expression pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*]
      • *
      • Ec2SubnetId - string - Optional - To launch the job flow in Amazon Virtual Private Cloud (Amazon VPC), set this parameter to the identifier of the Amazon VPC subnet where you want the job flow to launch. If you do not specify this value, the job flow is launched in the normal Amazon Web Services cloud, outside of an Amazon VPC. Amazon VPC currently does not support cluster compute quadruple extra large (cc1.4xlarge) instances. Thus you cannot specify the cc1.4xlarge instance type for nodes of a job flow launched in a Amazon VPC. [Constraints: The value must be between 0 and 256 characters, and must match the following regular expression pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*]
      • *
    • *
    * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • LogUri - string - Optional - Specifies the location in Amazon S3 to write the log files of the job flow. If a value is not provided, logs are not created. [Constraints: The value must be between 0 and 10280 characters, and must match the following regular expression pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*]
    • *
    • AdditionalInfo - string - Optional - A JSON string for selecting additional features. [Constraints: The value must be between 0 and 10280 characters, and must match the following regular expression pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*]
    • *
    • AmiVersion - string - Optional - The version of the Amazon Machine Image (AMI) to use when launching Amazon EC2 instances in the job flow. The following values are valid:
      • "latest" (uses the latest AMI)
      • The version number of the AMI to use, for example, "2.0"
      If this value is not specified, the job flow uses the default of (AMI 1.0, Hadoop 0.18). If the AMI supports multiple versions of Hadoop (for example, AMI 1.0 supports both Hadoop 0.18 and 0.20) you can use the JobFlowInstancesConfig HadoopVersion parameter to modify the version of Hadoop from the defaults shown above. For details about the AMI versions currently supported by Amazon ElasticMapReduce, go to AMI Versions Supported in Elastic MapReduce in the Amazon Elastic MapReduce Developer's Guide. [Constraints: The value must be between 0 and 256 characters, and must match the following regular expression pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*]
    • *
    • Steps - array - Optional - A list of steps to be executed by the job flow.
        *
      • x - array - Optional - This represents a simple array index.
          *
        • Name - string - Required - The name of the job flow step. [Constraints: The value must be between 0 and 256 characters, and must match the following regular expression pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*]
        • *
        • ActionOnFailure - string - Optional - Specifies the action to take if the job flow step fails. [Allowed values: TERMINATE_JOB_FLOW, CANCEL_AND_WAIT, CONTINUE]
        • *
        • HadoopJarStep - array - Required - Specifies the JAR file used for the job flow step.
            *
          • x - array - Optional - This represents a simple array index.
              *
            • Properties - array - Optional - A list of Java properties that are set when the step runs. You can use these properties to pass key value pairs to your main function.
                *
              • x - array - Optional - This represents a simple array index.
                  *
                • Key - string - Optional - The unique identifier of a key value pair. [Constraints: The value must be between 0 and 10280 characters, and must match the following regular expression pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*]
                • *
                • Value - string - Optional - The value part of the identified key. [Constraints: The value must be between 0 and 10280 characters, and must match the following regular expression pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*]
                • *
              • *
            • *
            • Jar - string - Required - A path to a JAR file run during the step. [Constraints: The value must be between 0 and 10280 characters, and must match the following regular expression pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*]
            • *
            • MainClass - string - Optional - The name of the main class in the specified Java file. If not specified, the JAR file should specify a Main-Class in its manifest file. [Constraints: The value must be between 0 and 10280 characters, and must match the following regular expression pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*]
            • *
            • Args - string|array - Optional - A list of command line arguments passed to the JAR file's main function when executed. Pass a string for a single value, or an indexed array for multiple values.
            • *
          • *
        • *
      • *
    • *
    • BootstrapActions - array - Optional - A list of bootstrap actions that will be run before Hadoop is started on the cluster nodes.
        *
      • x - array - Optional - This represents a simple array index.
          *
        • Name - string - Required - The name of the bootstrap action. [Constraints: The value must be between 0 and 256 characters, and must match the following regular expression pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*]
        • *
        • ScriptBootstrapAction - array - Required - The script run by the bootstrap action.
            *
          • x - array - Optional - This represents a simple array index.
              *
            • Path - string - Required - Location of the script to run during a bootstrap action. Can be either a location in Amazon S3 or on a local file system. [Constraints: The value must be between 0 and 10280 characters, and must match the following regular expression pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*]
            • *
            • Args - string|array - Optional - A list of command line arguments to pass to the bootstrap action script. Pass a string for a single value, or an indexed array for multiple values.
            • *
          • *
        • *
      • *
    • *
    • SupportedProducts - string|array - Optional - A list of strings that indicates third-party software to use with the job flow. For more information, go to Use Third Party Applications with Amazon EMR. Currently supported values are:
      • "karmasphere-enterprise-utility" - tag the job flow for management by Karmasphere.
      • "mapr-m3" - launch the job flow using MapR M3 Edition.
      • "mapr-m5" - launch the job flow using MapR M5 Edition.
      Pass a string for a single value, or an indexed array for multiple values.
    • *
    • VisibleToAllUsers - boolean - Optional - Whether the job flow is visible to all IAM users of the AWS account associated with the job flow. If this value is set to true, all IAM users of that AWS account can view and (if they have the proper policy permissions set) manage the job flow. If it is set to false, only the IAM user that created the job flow can view and manage it.
    • *
    • JobFlowRole - string - Optional - An IAM role for the job flow. The EC2 instances of the job flow assume this role. The default role is EMRJobflowDefault. In order to use the default role, you must have already created it using the CLI. [Constraints: The value must be between 0 and 10280 characters, and must match the following regular expression pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*]
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * SetTerminationProtection locks a job flow so the Amazon EC2 instances in the cluster cannot be
    	 * terminated by user intervention, an API call, or in the event of a job-flow error. The cluster
    	 * still terminates upon successful completion of the job flow. Calling SetTerminationProtection
    	 * on a job flow is analogous to calling the Amazon EC2 DisableAPITermination API on all of the
    	 * EC2 instances in a cluster.
    	 *  
    	 * SetTerminationProtection is used to prevent accidental termination of a job flow and to ensure
    	 * that in the event of an error, the instances will persist so you can recover any data stored in
    	 * their ephemeral instance storage.
    	 *  
    	 * To terminate a job flow that has been locked by setting SetTerminationProtection to
    	 * true, you must first unlock the job flow by a subsequent call to
    	 * SetTerminationProtection in which you set the value to false.
    	 *  
    	 * For more information, go to 
    	 * Protecting a Job Flow from Termination in the Amazon Elastic MapReduce Developer's
    	 * Guide.
    	 *
    	 * @param string|array $job_flow_ids (Required) A list of strings that uniquely identify the job flows to protect. This identifier is returned by RunJobFlow and can also be obtained from DescribeJobFlows. Pass a string for a single value, or an indexed array for multiple values.
    	 * @param boolean $termination_protected (Required) A Boolean that indicates whether to protect the job flow and prevent the Amazon EC2 instances in the cluster from shutting down due to API calls, user intervention, or job-flow error.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Sets whether all AWS Identity and Access Management (IAM) users under your account can access
    	 * the specifed job flows. This action works on running job flows. You can also set the visibility
    	 * of a job flow when you launch it using the VisibleToAllUsers parameter of
    	 * RunJobFlow. The SetVisibleToAllUsers action can be called only by an IAM user who
    	 * created the job flow or the AWS account that owns the job flow.
    	 *
    	 * @param string|array $job_flow_ids (Required) Identifiers of the job flows to receive the new visibility setting. Pass a string for a single value, or an indexed array for multiple values.
    	 * @param boolean $visible_to_all_users (Required) Whether the specified job flows are visible to all IAM users of the AWS account associated with the job flow. If this value is set to True, all IAM users of that AWS account can view and, if they have the proper IAM policy permissions set, manage the job flows. If it is set to False, only the IAM user that created a job flow can view and manage it.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * TerminateJobFlows shuts a list of job flows down. When a job flow is shut down, any step not
    	 * yet completed is canceled and the EC2 instances on which the job flow is running are stopped.
    	 * Any log files not already saved are uploaded to Amazon S3 if a LogUri was specified when the
    	 * job flow was created.
    	 *  
    	 * The call to TerminateJobFlows is asynchronous. Depending on the configuration of the job flow,
    	 * it may take up to 5-20 minutes for the job flow to completely terminate and release allocated
    	 * resources, such as Amazon EC2 instances.
    	 *
    	 * @param string|array $job_flow_ids (Required) A list of job flows to be shutdown. Pass a string for a single value, or an indexed array for multiple values.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    /*%******************************************************************************************%*/
    

    Class: EMR_Exception extends Exception {


    File: /destinations/_s3lib/aws-sdk/services/iam.class.php

    /*
     * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
     *
     * Licensed under the Apache License, Version 2.0 (the "License").
     * You may not use this file except in compliance with the License.
     * A copy of the License is located at
     *
     *  http://aws.amazon.com/apache2.0
     *
     * or in the "license" file accompanying this file. This file is distributed
     * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
     * express or implied. See the License for the specific language governing
     * permissions and limitations under the License.
     */
    
    /**
     * This guide provides descriptions of the Identity and Access Management (IAM) API as well as
     * links to related content in the guide, Using IAM.
     *  
     * IAM is a web service that enables AWS customers to manage users and user permissions under
     * their AWS account. For more information about this product go to AWS Identity and Access Management (IAM). For
     * information about setting up signatures and authorization through the API, go to Signing AWS API Requests in the AWS General Reference. For general
     * information about using the Query API with IAM, go to Making Query Requests in Using IAM.
     *  
     * If you're new to AWS and need additional technical information about a specific AWS product,
     * you can find the product'stechnical documentation at http://aws.amazon.com/documentation/.
     *
     * @version 2013.01.14
     * @license See the included NOTICE.md file for complete information.
     * @copyright See the included NOTICE.md file for complete information.
     * @link http://aws.amazon.com/iam/ AWS Identity and Access Management
     * @link http://aws.amazon.com/iam/documentation/ AWS Identity and Access Management documentation
     */
    
    	/*%******************************************************************************************%*/
    
    	/**
    	 * Specify the queue URL for the United States East (Northern Virginia) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the United States East (Northern Virginia) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the United States GovCloud Region.
    	 */
    
    	/**
    	 * Default service endpoint.
    	 */
    
    	/*%******************************************************************************************%*/
    
    	/**
    	 * Constructs a new instance of .
    	 *
    	 * @param array $options (Optional) An associative array of parameters that can have the following keys: 
      *
    • certificate_authority - boolean - Optional - Determines which Cerificate Authority file to use. A value of boolean false will use the Certificate Authority file available on the system. A value of boolean true will use the Certificate Authority provided by the SDK. Passing a file system path to a Certificate Authority file (chmodded to 0755) will use that. Leave this set to false if you're not sure.
    • *
    • credentials - string - Optional - The name of the credential set to use for authentication.
    • *
    • default_cache_config - string - Optional - This option allows a preferred storage type to be configured for long-term caching. This can be changed later using the method. Valid values are: apc, xcache, or a file system path such as ./cache or /tmp/cache/.
    • *
    • key - string - Optional - Your AWS key, or a session key. If blank, the default credential set will be used.
    • *
    • secret - string - Optional - Your AWS secret key, or a session secret key. If blank, the default credential set will be used.
    • *
    • token - string - Optional - An AWS session token.
    * @return void */
    	/*%******************************************************************************************%*/
    
    	/*%******************************************************************************************%*/
    
    	/**
    	 * This allows you to explicitly sets the region for the service to use.
    	 *
    	 * @param string $region (Required) The region to explicitly set. Available options are , .
    	 * @return $this A reference to the current instance.
    	 */
    
    	/*%******************************************************************************************%*/
    
    	/**
    	 * Adds the specified role to the specified instance profile. For more information about roles, go
    	 * to Working with
    	 * Roles. For more information about instance profiles, go to About
    	 * Instance Profiles.
    	 *
    	 * @param string $instance_profile_name (Required) Name of the instance profile to update. [Constraints: The value must be between 1 and 128 characters, and must match the following regular expression pattern: [\w+=,.@-]*]
    	 * @param string $role_name (Required) Name of the role to add. [Constraints: The value must be between 1 and 64 characters, and must match the following regular expression pattern: [\w+=,.@-]*]
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Adds the specified user to the specified group.
    	 *
    	 * @param string $group_name (Required) Name of the group to update. [Constraints: The value must be between 1 and 128 characters, and must match the following regular expression pattern: [\w+=,.@-]*]
    	 * @param string $user_name (Required) Name of the user to add. [Constraints: The value must be between 1 and 128 characters, and must match the following regular expression pattern: [\w+=,.@-]*]
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Changes the password of the IAM user calling ChangePassword. The root account
    	 * password is not affected by this action. For information about modifying passwords, see
    	 * 	Managing Passwords.
    	 *
    	 * @param string $old_password (Required)  [Constraints: The value must be between 1 and 128 characters, and must match the following regular expression pattern: [\u0009\u000A\u000D\u0020-\u00FF]+]
    	 * @param string $new_password (Required)  [Constraints: The value must be between 1 and 128 characters, and must match the following regular expression pattern: [\u0009\u000A\u000D\u0020-\u00FF]+]
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Creates a new AWS Secret Access Key and corresponding AWS Access Key ID for the specified user.
    	 * The default status for new keys is Active.
    	 *  
    	 * If you do not specify a user name, IAM determines the user name implicitly based on the AWS
    	 * Access Key ID signing the request. Because this action works for access keys under the AWS
    	 * account, you can use this API to manage root credentials even if the AWS account has no
    	 * associated users.
    	 *  
    	 * For information about limits on the number of keys you can create, see Limitations on IAM Entities in Using AWS Identity and Access
    	 * Management.
    	 * 
    	 * 

    * To ensure the security of your AWS account, the Secret Access Key is accessible only during key * and user creation. You must save the key (for example, in a text file) if you want to be able * to access it again. If a secret key is lost, you can delete the access keys for the associated * user and then create new keys. *

    * * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • UserName - string - Optional - The user name that the new key will belong to. [Constraints: The value must be between 1 and 128 characters, and must match the following regular expression pattern: [\w+=,.@-]*]
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * This action creates an alias for your AWS account. For information about using an AWS account
    	 * alias, see Using an Alias for Your AWS Account ID in Using AWS Identity and Access
    	 * Management.
    	 *
    	 * @param string $account_alias (Required) Name of the account alias to create. [Constraints: The value must be between 3 and 63 characters, and must match the following regular expression pattern: ^[a-z0-9](([a-z0-9]|-(?!-))*[a-z0-9])?$]
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Creates a new group.
    	 *  
    	 * For information about the number of groups you can create, see Limitations on IAM Entities in Using AWS Identity and Access
    	 * Management.
    	 *
    	 * @param string $group_name (Required) Name of the group to create. Do not include the path in this value. [Constraints: The value must be between 1 and 128 characters, and must match the following regular expression pattern: [\w+=,.@-]*]
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • Path - string - Optional - The path to the group. For more information about paths, see Identifiers for IAM Entities in Using AWS Identity and Access Management. This parameter is optional. If it is not included, it defaults to a slash (/). [Constraints: The value must be between 1 and 512 characters, and must match the following regular expression pattern: (\u002F)|(\u002F[\u0021-\u007F]+\u002F)]
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Creates a new instance profile. For information about instance profiles, go to About
    	 * Instance Profiles.
    	 *  
    	 * For information about the number of instance profiles you can create, see Limitations on IAM Entities in Using AWS Identity and Access
    	 * Management.
    	 *
    	 * @param string $instance_profile_name (Required) Name of the instance profile to create. [Constraints: The value must be between 1 and 128 characters, and must match the following regular expression pattern: [\w+=,.@-]*]
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • Path - string - Optional - The path to the instance profile. For more information about paths, see Identifiers for IAM Entities in Using AWS Identity and Access Management. This parameter is optional. If it is not included, it defaults to a slash (/). [Constraints: The value must be between 1 and 512 characters, and must match the following regular expression pattern: (\u002F)|(\u002F[\u0021-\u007F]+\u002F)]
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Creates a password for the specified user, giving the user the ability to access AWS services
    	 * through the AWS Management Console. For more information about managing passwords, see Managing Passwords in Using IAM.
    	 *
    	 * @param string $user_name (Required) Name of the user to create a password for. [Constraints: The value must be between 1 and 64 characters, and must match the following regular expression pattern: [\w+=,.@-]*]
    	 * @param string $password (Required) The new password for the user name. [Constraints: The value must be between 1 and 128 characters, and must match the following regular expression pattern: [\u0009\u000A\u000D\u0020-\u00FF]+]
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Creates a new role for your AWS account. For more information about roles, go to Working with
    	 * Roles. For information about limitations on role names and the number of roles you can
    	 * create, go to Limitations on IAM Entities in Using AWS Identity and Access
    	 * Management.
    	 *  
    	 * The policy grants permission to an EC2 instance to assume the role. The policy is URL-encoded
    	 * according to RFC 3986. For more information about RFC 3986, go to http://www.faqs.org/rfcs/rfc3986.html. Currently,
    	 * only EC2 instances can assume roles.
    	 *
    	 * @param string $role_name (Required) Name of the role to create. [Constraints: The value must be between 1 and 64 characters, and must match the following regular expression pattern: [\w+=,.@-]*]
    	 * @param string $assume_role_policy_document (Required) The policy that grants an entity permission to assume the role. [Constraints: The value must be between 1 and 131072 characters, and must match the following regular expression pattern: [\u0009\u000A\u000D\u0020-\u00FF]+]
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • Path - string - Optional - The path to the role. For more information about paths, see Identifiers for IAM Entities in Using AWS Identity and Access Management. This parameter is optional. If it is not included, it defaults to a slash (/). [Constraints: The value must be between 1 and 512 characters, and must match the following regular expression pattern: (\u002F)|(\u002F[\u0021-\u007F]+\u002F)]
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Creates a new user for your AWS account.
    	 *  
    	 * For information about limitations on the number of users you can create, see Limitations on IAM Entities in Using AWS Identity and Access
    	 * Management.
    	 *
    	 * @param string $user_name (Required) Name of the user to create. [Constraints: The value must be between 1 and 64 characters, and must match the following regular expression pattern: [\w+=,.@-]*]
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • Path - string - Optional - The path for the user name. For more information about paths, see Identifiers for IAM Entities in Using AWS Identity and Access Management. This parameter is optional. If it is not included, it defaults to a slash (/). [Constraints: The value must be between 1 and 512 characters, and must match the following regular expression pattern: (\u002F)|(\u002F[\u0021-\u007F]+\u002F)]
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Creates a new virtual MFA device for the AWS account. After creating the virtual MFA, use
    	 * 	EnableMFADevice to attach the MFA device to an IAM user. For more
    	 * information about creating and working with virtual MFA devices, go to Using a Virtual MFA Device in Using AWS Identity and Access
    	 * Management.
    	 *  
    	 * For information about limits on the number of MFA devices you can create, see Limitations on Entities in Using AWS Identity and Access
    	 * Management.
    	 * 
    	 * 

    * The seed information contained in the QR code and the Base32 string should be treated like any * other secret access information, such as your AWS access keys or your passwords. After you * provision your virtual device, you should ensure that the information is destroyed following * secure procedures. *

    * * @param string $virtual_mfa_device_name (Required) The name of the virtual MFA device. Use with path to uniquely identify a virtual MFA device. [Constraints: The value must be more than 1 characters, and must match the following regular expression pattern: [\w+=,.@-]*] * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • Path - string - Optional - The path for the virtual MFA device. For more information about paths, see Identifiers for IAM Entities in Using AWS Identity and Access Management. This parameter is optional. If it is not included, it defaults to a slash (/). [Constraints: The value must be between 1 and 512 characters, and must match the following regular expression pattern: (\u002F)|(\u002F[\u0021-\u007F]+\u002F)]
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Deactivates the specified MFA device and removes it from association with the user name for
    	 * which it was originally enabled.
    	 *
    	 * @param string $user_name (Required) Name of the user whose MFA device you want to deactivate. [Constraints: The value must be between 1 and 128 characters, and must match the following regular expression pattern: [\w+=,.@-]*]
    	 * @param string $serial_number (Required) The serial number that uniquely identifies the MFA device. For virtual MFA devices, the serial number is the device ARN. [Constraints: The value must be between 9 and 256 characters, and must match the following regular expression pattern: [\w+=/:,.@-]*]
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Deletes the access key associated with the specified user.
    	 *  
    	 * If you do not specify a user name, IAM determines the user name implicitly based on the AWS
    	 * Access Key ID signing the request. Because this action works for access keys under the AWS
    	 * account, you can use this API to manage root credentials even if the AWS account has no
    	 * associated users.
    	 *
    	 * @param string $access_key_id (Required) The Access Key ID for the Access Key ID and Secret Access Key you want to delete. [Constraints: The value must be between 16 and 32 characters, and must match the following regular expression pattern: [\w]*]
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • UserName - string - Optional - Name of the user whose key you want to delete. [Constraints: The value must be between 1 and 128 characters, and must match the following regular expression pattern: [\w+=,.@-]*]
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Deletes the specified AWS account alias. For information about using an AWS account alias, see
    	 * 	Using an Alias for Your AWS Account ID in Using AWS Identity and Access
    	 * Management.
    	 *
    	 * @param string $account_alias (Required) Name of the account alias to delete. [Constraints: The value must be between 3 and 63 characters, and must match the following regular expression pattern: ^[a-z0-9](([a-z0-9]|-(?!-))*[a-z0-9])?$]
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Deletes the password policy for the AWS account.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Deletes the specified group. The group must not contain any users or have any attached
    	 * policies.
    	 *
    	 * @param string $group_name (Required) Name of the group to delete. [Constraints: The value must be between 1 and 128 characters, and must match the following regular expression pattern: [\w+=,.@-]*]
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Deletes the specified policy that is associated with the specified group.
    	 *
    	 * @param string $group_name (Required) Name of the group the policy is associated with. [Constraints: The value must be between 1 and 128 characters, and must match the following regular expression pattern: [\w+=,.@-]*]
    	 * @param string $policy_name (Required) Name of the policy document to delete. [Constraints: The value must be between 1 and 128 characters, and must match the following regular expression pattern: [\w+=,.@-]*]
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Deletes the specified instance profile. The instance profile must not have an associated role.
    	 * 
    	 * 

    * Make sure you do not have any Amazon EC2 instances running with the instance profile you are * about to delete. Deleting a role or instance profile that is associated with a running instance * will break any applications running on the instance. *

    * For more information about instance profiles, go to About * Instance Profiles. * * @param string $instance_profile_name (Required) Name of the instance profile to delete. [Constraints: The value must be between 1 and 128 characters, and must match the following regular expression pattern: [\w+=,.@-]*] * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Deletes the password for the specified user, which terminates the user's ability to access AWS
    	 * services through the AWS Management Console.
    	 * 
    	 * 

    * Deleting a user's password does not prevent a user from accessing IAM through the command line * interface or the API. To prevent all user access you must also either make the access key * inactive or delete it. For more information about making keys inactive or deleting them, see * UpdateAccessKey and DeleteAccessKey. *

    * * @param string $user_name (Required) Name of the user whose password you want to delete. [Constraints: The value must be between 1 and 64 characters, and must match the following regular expression pattern: [\w+=,.@-]*] * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Deletes the specified role. The role must not have any policies attached. For more information
    	 * about roles, go to Working with
    	 * Roles.
    	 * 
    	 * 

    * Make sure you do not have any Amazon EC2 instances running with the role you are about to * delete. Deleting a role or instance profile that is associated with a running instance will * break any applications running on the instance. *

    * * @param string $role_name (Required) Name of the role to delete. [Constraints: The value must be between 1 and 64 characters, and must match the following regular expression pattern: [\w+=,.@-]*] * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Deletes the specified policy associated with the specified role.
    	 *
    	 * @param string $role_name (Required) Name of the role the associated with the policy. [Constraints: The value must be between 1 and 64 characters, and must match the following regular expression pattern: [\w+=,.@-]*]
    	 * @param string $policy_name (Required) Name of the policy document to delete. [Constraints: The value must be between 1 and 128 characters, and must match the following regular expression pattern: [\w+=,.@-]*]
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Deletes the specified server certificate.
    	 * 
    	 * 

    * If you are using a server certificate with Elastic Load Balancing, deleting the certificate * could have implications for your application. If Elastic Load Balancing doesn't detect the * deletion of bound certificates, it may continue to use the certificates. This could cause * Elastic Load Balancing to stop accepting traffic. We recommend that you remove the reference to * the certificate from Elastic Load Balancing before using this command to delete the * certificate. For more information, go to DeleteLoadBalancerListeners in the Elastic Load Balancing API * Reference. *

    * * @param string $server_certificate_name (Required) The name of the server certificate you want to delete. [Constraints: The value must be between 1 and 128 characters, and must match the following regular expression pattern: [\w+=,.@-]*] * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Deletes the specified signing certificate associated with the specified user.
    	 *  
    	 * If you do not specify a user name, IAM determines the user name implicitly based on the AWS
    	 * Access Key ID signing the request. Because this action works for access keys under the AWS
    	 * account, you can use this API to manage root credentials even if the AWS account has no
    	 * associated users.
    	 *
    	 * @param string $certificate_id (Required) ID of the signing certificate to delete. [Constraints: The value must be between 24 and 128 characters, and must match the following regular expression pattern: [\w]*]
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • UserName - string - Optional - Name of the user the signing certificate belongs to. [Constraints: The value must be between 1 and 128 characters, and must match the following regular expression pattern: [\w+=,.@-]*]
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Deletes the specified user. The user must not belong to any groups, have any keys or signing
    	 * certificates, or have any attached policies.
    	 *
    	 * @param string $user_name (Required) Name of the user to delete. [Constraints: The value must be between 1 and 128 characters, and must match the following regular expression pattern: [\w+=,.@-]*]
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Deletes the specified policy associated with the specified user.
    	 *
    	 * @param string $user_name (Required) Name of the user the policy is associated with. [Constraints: The value must be between 1 and 128 characters, and must match the following regular expression pattern: [\w+=,.@-]*]
    	 * @param string $policy_name (Required) Name of the policy document to delete. [Constraints: The value must be between 1 and 128 characters, and must match the following regular expression pattern: [\w+=,.@-]*]
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Deletes a virtual MFA device.
    	 * 
    	 * 

    * You must deactivate a user's virtual MFA device before you can delete it. For information about * deactivating MFA devices, see DeactivateMFADevice. *

    * * @param string $serial_number (Required) The serial number that uniquely identifies the MFA device. For virtual MFA devices, the serial number is the same as the ARN. [Constraints: The value must be between 9 and 256 characters, and must match the following regular expression pattern: [\w+=/:,.@-]*] * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Enables the specified MFA device and associates it with the specified user name. When enabled,
    	 * the MFA device is required for every subsequent login by the user name associated with the
    	 * device.
    	 *
    	 * @param string $user_name (Required) Name of the user for whom you want to enable the MFA device. [Constraints: The value must be between 1 and 128 characters, and must match the following regular expression pattern: [\w+=,.@-]*]
    	 * @param string $serial_number (Required) The serial number that uniquely identifies the MFA device. For virtual MFA devices, the serial number is the device ARN. [Constraints: The value must be between 9 and 256 characters, and must match the following regular expression pattern: [\w+=/:,.@-]*]
    	 * @param string $authentication_code1 (Required) An authentication code emitted by the device. [Constraints: The value must be between 6 and 6 characters, and must match the following regular expression pattern: [\d]*]
    	 * @param string $authentication_code2 (Required) A subsequent authentication code emitted by the device. [Constraints: The value must be between 6 and 6 characters, and must match the following regular expression pattern: [\d]*]
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Retrieves the password policy for the AWS account. For more information about using a password
    	 * policy, go to Managing
    	 * an IAM Password Policy.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Retrieves account level information about account entity usage and IAM quotas.
    	 *  
    	 * For information about limitations on IAM entities, see Limitations on IAM Entities in Using AWS Identity and Access
    	 * Management.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Returns a list of users that are in the specified group. You can paginate the results using the
    	 * MaxItems and Marker parameters.
    	 *
    	 * @param string $group_name (Required) Name of the group. [Constraints: The value must be between 1 and 128 characters, and must match the following regular expression pattern: [\w+=,.@-]*]
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • Marker - string - Optional - Use this only when paginating results, and only in a subsequent request after you've received a response where the results are truncated. Set it to the value of the Marker element in the response you just received. [Constraints: The value must be between 1 and 320 characters, and must match the following regular expression pattern: [\u0020-\u00FF]*]
    • *
    • MaxItems - integer - Optional - Use this only when paginating results to indicate the maximum number of user names you want in the response. If there are additional user names beyond the maximum you specify, the IsTruncated response element is true.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Retrieves the specified policy document for the specified group. The returned policy is
    	 * URL-encoded according to RFC 3986. For more information about RFC 3986, go to http://www.faqs.org/rfcs/rfc3986.html.
    	 *
    	 * @param string $group_name (Required) Name of the group the policy is associated with. [Constraints: The value must be between 1 and 128 characters, and must match the following regular expression pattern: [\w+=,.@-]*]
    	 * @param string $policy_name (Required) Name of the policy document to get. [Constraints: The value must be between 1 and 128 characters, and must match the following regular expression pattern: [\w+=,.@-]*]
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Retrieves information about the specified instance profile, including the instance profile's
    	 * path, GUID, ARN, and role. For more information about instance profiles, go to About
    	 * Instance Profiles. For more information about ARNs, go to 
    	 * ARNs.
    	 *
    	 * @param string $instance_profile_name (Required) Name of the instance profile to get information about. [Constraints: The value must be between 1 and 128 characters, and must match the following regular expression pattern: [\w+=,.@-]*]
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Retrieves the user name and password create date for the specified user.
    	 *
    	 * @param string $user_name (Required) Name of the user whose login profile you want to retrieve. [Constraints: The value must be between 1 and 64 characters, and must match the following regular expression pattern: [\w+=,.@-]*]
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Retrieves information about the specified role, including the role's path, GUID, ARN, and the
    	 * policy granting permission to EC2 to assume the role. For more information about ARNs, go to
    	 * 	
    	 * ARNs. For more information about roles, go to Working with
    	 * Roles.
    	 *  
    	 * The returned policy is URL-encoded according to RFC 3986. For more information about RFC 3986,
    	 * go to http://www.faqs.org/rfcs/rfc3986.html.
    	 *
    	 * @param string $role_name (Required) Name of the role to get information about. [Constraints: The value must be between 1 and 64 characters, and must match the following regular expression pattern: [\w+=,.@-]*]
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Retrieves the specified policy document for the specified role. For more information about
    	 * roles, go to Working with
    	 * Roles.
    	 *  
    	 * The returned policy is URL-encoded according to RFC 3986. For more information about RFC 3986,
    	 * go to http://www.faqs.org/rfcs/rfc3986.html.
    	 *
    	 * @param string $role_name (Required) Name of the role associated with the policy. [Constraints: The value must be between 1 and 64 characters, and must match the following regular expression pattern: [\w+=,.@-]*]
    	 * @param string $policy_name (Required) Name of the policy document to get. [Constraints: The value must be between 1 and 128 characters, and must match the following regular expression pattern: [\w+=,.@-]*]
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Retrieves information about the specified server certificate.
    	 *
    	 * @param string $server_certificate_name (Required) The name of the server certificate you want to retrieve information about. [Constraints: The value must be between 1 and 128 characters, and must match the following regular expression pattern: [\w+=,.@-]*]
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Retrieves information about the specified user, including the user's path, GUID, and ARN.
    	 *  
    	 * If you do not specify a user name, IAM determines the user name implicitly based on the AWS
    	 * Access Key ID signing the request.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • UserName - string - Optional - Name of the user to get information about. This parameter is optional. If it is not included, it defaults to the user making the request. [Constraints: The value must be between 1 and 128 characters, and must match the following regular expression pattern: [\w+=,.@-]*]
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Retrieves the specified policy document for the specified user. The returned policy is
    	 * URL-encoded according to RFC 3986. For more information about RFC 3986, go to http://www.faqs.org/rfcs/rfc3986.html.
    	 *
    	 * @param string $user_name (Required) Name of the user who the policy is associated with. [Constraints: The value must be between 1 and 128 characters, and must match the following regular expression pattern: [\w+=,.@-]*]
    	 * @param string $policy_name (Required) Name of the policy document to get. [Constraints: The value must be between 1 and 128 characters, and must match the following regular expression pattern: [\w+=,.@-]*]
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Returns information about the Access Key IDs associated with the specified user. If there are
    	 * none, the action returns an empty list.
    	 *  
    	 * Although each user is limited to a small number of keys, you can still paginate the results
    	 * using the MaxItems and Marker parameters.
    	 *  
    	 * If the UserName field is not specified, the UserName is determined implicitly
    	 * based on the AWS Access Key ID used to sign the request. Because this action works for access
    	 * keys under the AWS account, this API can be used to manage root credentials even if the AWS
    	 * account has no associated users.
    	 * 
    	 * 

    * To ensure the security of your AWS account, the secret access key is accessible only during key * and user creation. *

    * * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • UserName - string - Optional - Name of the user. [Constraints: The value must be between 1 and 128 characters, and must match the following regular expression pattern: [\w+=,.@-]*]
    • *
    • Marker - string - Optional - Use this parameter only when paginating results, and only in a subsequent request after you've received a response where the results are truncated. Set it to the value of the Marker element in the response you just received. [Constraints: The value must be between 1 and 320 characters, and must match the following regular expression pattern: [\u0020-\u00FF]*]
    • *
    • MaxItems - integer - Optional - Use this parameter only when paginating results to indicate the maximum number of keys you want in the response. If there are additional keys beyond the maximum you specify, the IsTruncated response element is true.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Lists the account aliases associated with the account. For information about using an AWS
    	 * account alias, see Using an Alias for Your AWS Account ID in Using AWS Identity and Access
    	 * Management.
    	 *  
    	 * You can paginate the results using the MaxItems and Marker
    	 * parameters.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • Marker - string - Optional - Use this only when paginating results, and only in a subsequent request after you've received a response where the results are truncated. Set it to the value of the Marker element in the response you just received. [Constraints: The value must be between 1 and 320 characters, and must match the following regular expression pattern: [\u0020-\u00FF]*]
    • *
    • MaxItems - integer - Optional - Use this only when paginating results to indicate the maximum number of account aliases you want in the response. If there are additional account aliases beyond the maximum you specify, the IsTruncated response element is true.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Lists the names of the policies associated with the specified group. If there are none, the
    	 * action returns an empty list.
    	 *  
    	 * You can paginate the results using the MaxItems and Marker
    	 * parameters.
    	 *
    	 * @param string $group_name (Required) The name of the group to list policies for. [Constraints: The value must be between 1 and 128 characters, and must match the following regular expression pattern: [\w+=,.@-]*]
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • Marker - string - Optional - Use this only when paginating results, and only in a subsequent request after you've received a response where the results are truncated. Set it to the value of the Marker element in the response you just received. [Constraints: The value must be between 1 and 320 characters, and must match the following regular expression pattern: [\u0020-\u00FF]*]
    • *
    • MaxItems - integer - Optional - Use this only when paginating results to indicate the maximum number of policy names you want in the response. If there are additional policy names beyond the maximum you specify, the IsTruncated response element is true.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Lists the groups that have the specified path prefix.
    	 *  
    	 * You can paginate the results using the MaxItems and Marker
    	 * parameters.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • PathPrefix - string - Optional - The path prefix for filtering the results. For example: /division_abc/subdivision_xyz/, which would get all groups whose path starts with /division_abc/subdivision_xyz/. This parameter is optional. If it is not included, it defaults to a slash (/), listing all groups. [Constraints: The value must be between 1 and 512 characters, and must match the following regular expression pattern: \u002F[\u0021-\u007F]*]
    • *
    • Marker - string - Optional - Use this only when paginating results, and only in a subsequent request after you've received a response where the results are truncated. Set it to the value of the Marker element in the response you just received. [Constraints: The value must be between 1 and 320 characters, and must match the following regular expression pattern: [\u0020-\u00FF]*]
    • *
    • MaxItems - integer - Optional - Use this only when paginating results to indicate the maximum number of groups you want in the response. If there are additional groups beyond the maximum you specify, the IsTruncated response element is true.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Lists the groups the specified user belongs to.
    	 *  
    	 * You can paginate the results using the MaxItems and Marker
    	 * parameters.
    	 *
    	 * @param string $user_name (Required) The name of the user to list groups for. [Constraints: The value must be between 1 and 128 characters, and must match the following regular expression pattern: [\w+=,.@-]*]
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • Marker - string - Optional - Use this only when paginating results, and only in a subsequent request after you've received a response where the results are truncated. Set it to the value of the Marker element in the response you just received. [Constraints: The value must be between 1 and 320 characters, and must match the following regular expression pattern: [\u0020-\u00FF]*]
    • *
    • MaxItems - integer - Optional - Use this only when paginating results to indicate the maximum number of groups you want in the response. If there are additional groups beyond the maximum you specify, the IsTruncated response element is true.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Lists the instance profiles that have the specified path prefix. If there are none, the action
    	 * returns an empty list. For more information about instance profiles, go to About
    	 * Instance Profiles.
    	 *  
    	 * You can paginate the results using the MaxItems and Marker
    	 * parameters.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • PathPrefix - string - Optional - The path prefix for filtering the results. For example: /application_abc/component_xyz/, which would get all instance profiles whose path starts with /application_abc/component_xyz/. This parameter is optional. If it is not included, it defaults to a slash (/), listing all instance profiles. [Constraints: The value must be between 1 and 512 characters, and must match the following regular expression pattern: \u002F[\u0021-\u007F]*]
    • *
    • Marker - string - Optional - Use this parameter only when paginating results, and only in a subsequent request after you've received a response where the results are truncated. Set it to the value of the Marker element in the response you just received. [Constraints: The value must be between 1 and 320 characters, and must match the following regular expression pattern: [\u0020-\u00FF]*]
    • *
    • MaxItems - integer - Optional - Use this parameter only when paginating results to indicate the maximum number of user names you want in the response. If there are additional user names beyond the maximum you specify, the IsTruncated response element is true.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Lists the instance profiles that have the specified associated role. If there are none, the
    	 * action returns an empty list. For more information about instance profiles, go to About
    	 * Instance Profiles.
    	 *  
    	 * You can paginate the results using the MaxItems and Marker
    	 * parameters.
    	 *
    	 * @param string $role_name (Required) The name of the role to list instance profiles for. [Constraints: The value must be between 1 and 64 characters, and must match the following regular expression pattern: [\w+=,.@-]*]
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • Marker - string - Optional - Use this parameter only when paginating results, and only in a subsequent request after you've received a response where the results are truncated. Set it to the value of the Marker element in the response you just received. [Constraints: The value must be between 1 and 320 characters, and must match the following regular expression pattern: [\u0020-\u00FF]*]
    • *
    • MaxItems - integer - Optional - Use this parameter only when paginating results to indicate the maximum number of user names you want in the response. If there are additional user names beyond the maximum you specify, the IsTruncated response element is true.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Lists the MFA devices. If the request includes the user name, then this action lists all the
    	 * MFA devices associated with the specified user name. If you do not specify a user name, IAM
    	 * determines the user name implicitly based on the AWS Access Key ID signing the request.
    	 *  
    	 * You can paginate the results using the MaxItems and Marker
    	 * parameters.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • UserName - string - Optional - Name of the user whose MFA devices you want to list. [Constraints: The value must be between 1 and 128 characters, and must match the following regular expression pattern: [\w+=,.@-]*]
    • *
    • Marker - string - Optional - Use this only when paginating results, and only in a subsequent request after you've received a response where the results are truncated. Set it to the value of the Marker element in the response you just received. [Constraints: The value must be between 1 and 320 characters, and must match the following regular expression pattern: [\u0020-\u00FF]*]
    • *
    • MaxItems - integer - Optional - Use this only when paginating results to indicate the maximum number of MFA devices you want in the response. If there are additional MFA devices beyond the maximum you specify, the IsTruncated response element is true.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Lists the names of the policies associated with the specified role. If there are none, the
    	 * action returns an empty list.
    	 *  
    	 * You can paginate the results using the MaxItems and Marker
    	 * parameters.
    	 *
    	 * @param string $role_name (Required) The name of the role to list policies for. [Constraints: The value must be between 1 and 64 characters, and must match the following regular expression pattern: [\w+=,.@-]*]
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • Marker - string - Optional - Use this parameter only when paginating results, and only in a subsequent request after you've received a response where the results are truncated. Set it to the value of the Marker element in the response you just received. [Constraints: The value must be between 1 and 320 characters, and must match the following regular expression pattern: [\u0020-\u00FF]*]
    • *
    • MaxItems - integer - Optional - Use this parameter only when paginating results to indicate the maximum number of user names you want in the response. If there are additional user names beyond the maximum you specify, the IsTruncated response element is true.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Lists the roles that have the specified path prefix. If there are none, the action returns an
    	 * empty list. For more information about roles, go to Working with
    	 * Roles.
    	 *  
    	 * You can paginate the results using the MaxItems and Marker
    	 * parameters.
    	 *  
    	 * The returned policy is URL-encoded according to RFC 3986. For more information about RFC 3986,
    	 * go to http://www.faqs.org/rfcs/rfc3986.html.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • PathPrefix - string - Optional - The path prefix for filtering the results. For example: /application_abc/component_xyz/, which would get all roles whose path starts with /application_abc/component_xyz/. This parameter is optional. If it is not included, it defaults to a slash (/), listing all roles. [Constraints: The value must be between 1 and 512 characters, and must match the following regular expression pattern: \u002F[\u0021-\u007F]*]
    • *
    • Marker - string - Optional - Use this parameter only when paginating results, and only in a subsequent request after you've received a response where the results are truncated. Set it to the value of the Marker element in the response you just received. [Constraints: The value must be between 1 and 320 characters, and must match the following regular expression pattern: [\u0020-\u00FF]*]
    • *
    • MaxItems - integer - Optional - Use this parameter only when paginating results to indicate the maximum number of user names you want in the response. If there are additional user names beyond the maximum you specify, the IsTruncated response element is true.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Lists the server certificates that have the specified path prefix. If none exist, the action
    	 * returns an empty list.
    	 *  
    	 * You can paginate the results using the MaxItems and Marker
    	 * parameters.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • PathPrefix - string - Optional - The path prefix for filtering the results. For example: /company/servercerts would get all server certificates for which the path starts with /company/servercerts. This parameter is optional. If it is not included, it defaults to a slash (/), listing all server certificates. [Constraints: The value must be between 1 and 512 characters, and must match the following regular expression pattern: \u002F[\u0021-\u007F]*]
    • *
    • Marker - string - Optional - Use this only when paginating results, and only in a subsequent request after you've received a response where the results are truncated. Set it to the value of the Marker element in the response you just received. [Constraints: The value must be between 1 and 320 characters, and must match the following regular expression pattern: [\u0020-\u00FF]*]
    • *
    • MaxItems - integer - Optional - Use this only when paginating results to indicate the maximum number of server certificates you want in the response. If there are additional server certificates beyond the maximum you specify, the IsTruncated response element will be set to true.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Returns information about the signing certificates associated with the specified user. If there
    	 * are none, the action returns an empty list.
    	 *  
    	 * Although each user is limited to a small number of signing certificates, you can still paginate
    	 * the results using the MaxItems and Marker parameters.
    	 *  
    	 * If the UserName field is not specified, the user name is determined implicitly
    	 * based on the AWS Access Key ID used to sign the request. Because this action works for access
    	 * keys under the AWS account, this API can be used to manage root credentials even if the AWS
    	 * account has no associated users.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • UserName - string - Optional - The name of the user. [Constraints: The value must be between 1 and 128 characters, and must match the following regular expression pattern: [\w+=,.@-]*]
    • *
    • Marker - string - Optional - Use this only when paginating results, and only in a subsequent request after you've received a response where the results are truncated. Set it to the value of the Marker element in the response you just received. [Constraints: The value must be between 1 and 320 characters, and must match the following regular expression pattern: [\u0020-\u00FF]*]
    • *
    • MaxItems - integer - Optional - Use this only when paginating results to indicate the maximum number of certificate IDs you want in the response. If there are additional certificate IDs beyond the maximum you specify, the IsTruncated response element is true.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Lists the names of the policies associated with the specified user. If there are none, the
    	 * action returns an empty list.
    	 *  
    	 * You can paginate the results using the MaxItems and Marker
    	 * parameters.
    	 *
    	 * @param string $user_name (Required) The name of the user to list policies for. [Constraints: The value must be between 1 and 128 characters, and must match the following regular expression pattern: [\w+=,.@-]*]
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • Marker - string - Optional - Use this only when paginating results, and only in a subsequent request after you've received a response where the results are truncated. Set it to the value of the Marker element in the response you just received. [Constraints: The value must be between 1 and 320 characters, and must match the following regular expression pattern: [\u0020-\u00FF]*]
    • *
    • MaxItems - integer - Optional - Use this only when paginating results to indicate the maximum number of policy names you want in the response. If there are additional policy names beyond the maximum you specify, the IsTruncated response element is true.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Lists the users that have the specified path prefix. If there are none, the action returns an
    	 * empty list.
    	 *  
    	 * You can paginate the results using the MaxItems and Marker
    	 * parameters.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • PathPrefix - string - Optional - The path prefix for filtering the results. For example: /division_abc/subdivision_xyz/, which would get all user names whose path starts with /division_abc/subdivision_xyz/. This parameter is optional. If it is not included, it defaults to a slash (/), listing all user names. [Constraints: The value must be between 1 and 512 characters, and must match the following regular expression pattern: \u002F[\u0021-\u007F]*]
    • *
    • Marker - string - Optional - Use this parameter only when paginating results, and only in a subsequent request after you've received a response where the results are truncated. Set it to the value of the Marker element in the response you just received. [Constraints: The value must be between 1 and 320 characters, and must match the following regular expression pattern: [\u0020-\u00FF]*]
    • *
    • MaxItems - integer - Optional - Use this parameter only when paginating results to indicate the maximum number of user names you want in the response. If there are additional user names beyond the maximum you specify, the IsTruncated response element is true.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Lists the virtual MFA devices under the AWS account by assignment status. If you do not specify
    	 * an assignment status, the action returns a list of all virtual MFA devices. Assignment status
    	 * can be Assigned, Unassigned, or Any.
    	 *  
    	 * You can paginate the results using the MaxItems and Marker
    	 * parameters.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • AssignmentStatus - string - Optional - The status (unassigned or assigned) of the devices to list. If you do not specify an AssignmentStatus, the action defaults to Any which lists both assigned and unassigned virtual MFA devices. [Allowed values: Assigned, Unassigned, Any]
    • *
    • Marker - string - Optional - Use this parameter only when paginating results, and only in a subsequent request after you've received a response where the results are truncated. Set it to the value of the Marker element in the response you just received. [Constraints: The value must be between 1 and 320 characters, and must match the following regular expression pattern: [\u0020-\u00FF]*]
    • *
    • MaxItems - integer - Optional - Use this parameter only when paginating results to indicate the maximum number of user names you want in the response. If there are additional user names beyond the maximum you specify, the IsTruncated response element is true.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Adds (or updates) a policy document associated with the specified group. For information about
    	 * policies, refer to Overview of Policies in Using AWS Identity and Access Management.
    	 *  
    	 * For information about limits on the number of policies you can associate with a group, see
    	 * 	Limitations on IAM Entities in Using AWS Identity and Access
    	 * Management.
    	 * 
    	 * 

    * Because policy documents can be large, you should use POST rather than GET when calling * PutGroupPolicy. For information about setting up signatures and authorization * through the API, go to Signing AWS API Requests in the AWS General Reference. For general * information about using the Query API with IAM, go to Making Query Requests in Using IAM. *

    * * @param string $group_name (Required) Name of the group to associate the policy with. [Constraints: The value must be between 1 and 128 characters, and must match the following regular expression pattern: [\w+=,.@-]*] * @param string $policy_name (Required) Name of the policy document. [Constraints: The value must be between 1 and 128 characters, and must match the following regular expression pattern: [\w+=,.@-]*] * @param string $policy_document (Required) The policy document. [Constraints: The value must be between 1 and 131072 characters, and must match the following regular expression pattern: [\u0009\u000A\u000D\u0020-\u00FF]+] * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Adds (or updates) a policy document associated with the specified role. For information about
    	 * policies, go to Overview of Policies in Using AWS Identity and Access Management.
    	 *  
    	 * For information about limits on the policies you can associate with a role, see Limitations on IAM Entities in Using AWS Identity and Access
    	 * Management.
    	 * 
    	 * 

    * Because policy documents can be large, you should use POST rather than GET when calling * PutRolePolicy. For information about setting up signatures and authorization * through the API, go to Signing AWS API Requests in the AWS General Reference. For general * information about using the Query API with IAM, go to Making Query Requests in Using IAM. *

    * * @param string $role_name (Required) Name of the role to associate the policy with. [Constraints: The value must be between 1 and 64 characters, and must match the following regular expression pattern: [\w+=,.@-]*] * @param string $policy_name (Required) Name of the policy document. [Constraints: The value must be between 1 and 128 characters, and must match the following regular expression pattern: [\w+=,.@-]*] * @param string $policy_document (Required) The policy document. [Constraints: The value must be between 1 and 131072 characters, and must match the following regular expression pattern: [\u0009\u000A\u000D\u0020-\u00FF]+] * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Adds (or updates) a policy document associated with the specified user. For information about
    	 * policies, refer to Overview of Policies in Using AWS Identity and Access Management.
    	 *  
    	 * For information about limits on the number of policies you can associate with a user, see
    	 * 	Limitations on IAM Entities in Using AWS Identity and Access
    	 * Management.
    	 * 
    	 * 

    * Because policy documents can be large, you should use POST rather than GET when calling * PutUserPolicy. For information about setting up signatures and authorization * through the API, go to Signing AWS API Requests in the AWS General Reference. For general * information about using the Query API with IAM, go to Making Query Requests in Using IAM. *

    * * @param string $user_name (Required) Name of the user to associate the policy with. [Constraints: The value must be between 1 and 128 characters, and must match the following regular expression pattern: [\w+=,.@-]*] * @param string $policy_name (Required) Name of the policy document. [Constraints: The value must be between 1 and 128 characters, and must match the following regular expression pattern: [\w+=,.@-]*] * @param string $policy_document (Required) The policy document. [Constraints: The value must be between 1 and 131072 characters, and must match the following regular expression pattern: [\u0009\u000A\u000D\u0020-\u00FF]+] * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Removes the specified role from the specified instance profile.
    	 * 
    	 * 

    * Make sure you do not have any Amazon EC2 instances running with the role you are about to * remove from the instance profile. Removing a role from an instance profile that is associated * with a running instance will break any applications running on the instance. *

    * For more information about roles, go to Working with * Roles. For more information about instance profiles, go to About * Instance Profiles. * * @param string $instance_profile_name (Required) Name of the instance profile to update. [Constraints: The value must be between 1 and 128 characters, and must match the following regular expression pattern: [\w+=,.@-]*] * @param string $role_name (Required) Name of the role to remove. [Constraints: The value must be between 1 and 64 characters, and must match the following regular expression pattern: [\w+=,.@-]*] * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Removes the specified user from the specified group.
    	 *
    	 * @param string $group_name (Required) Name of the group to update. [Constraints: The value must be between 1 and 128 characters, and must match the following regular expression pattern: [\w+=,.@-]*]
    	 * @param string $user_name (Required) Name of the user to remove. [Constraints: The value must be between 1 and 128 characters, and must match the following regular expression pattern: [\w+=,.@-]*]
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Synchronizes the specified MFA device with AWS servers.
    	 *
    	 * @param string $user_name (Required) Name of the user whose MFA device you want to resynchronize. [Constraints: The value must be between 1 and 128 characters, and must match the following regular expression pattern: [\w+=,.@-]*]
    	 * @param string $serial_number (Required) Serial number that uniquely identifies the MFA device. [Constraints: The value must be between 9 and 256 characters, and must match the following regular expression pattern: [\w+=/:,.@-]*]
    	 * @param string $authentication_code1 (Required) An authentication code emitted by the device. [Constraints: The value must be between 6 and 6 characters, and must match the following regular expression pattern: [\d]*]
    	 * @param string $authentication_code2 (Required) A subsequent authentication code emitted by the device. [Constraints: The value must be between 6 and 6 characters, and must match the following regular expression pattern: [\d]*]
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Changes the status of the specified access key from Active to Inactive, or vice versa. This
    	 * action can be used to disable a user's key as part of a key rotation work flow.
    	 *  
    	 * If the UserName field is not specified, the UserName is determined implicitly
    	 * based on the AWS Access Key ID used to sign the request. Because this action works for access
    	 * keys under the AWS account, this API can be used to manage root credentials even if the AWS
    	 * account has no associated users.
    	 *  
    	 * For information about rotating keys, see Managing Keys and Certificates in Using AWS Identity and Access
    	 * Management.
    	 *
    	 * @param string $access_key_id (Required) The Access Key ID of the Secret Access Key you want to update. [Constraints: The value must be between 16 and 32 characters, and must match the following regular expression pattern: [\w]*]
    	 * @param string $status (Required) The status you want to assign to the Secret Access Key. Active means the key can be used for API calls to AWS, while Inactive means the key cannot be used. [Allowed values: Active, Inactive]
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • UserName - string - Optional - Name of the user whose key you want to update. [Constraints: The value must be between 1 and 128 characters, and must match the following regular expression pattern: [\w+=,.@-]*]
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Updates the password policy settings for the account. For more information about using a
    	 * password policy, go to Managing
    	 * an IAM Password Policy.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • MinimumPasswordLength - integer - Optional -
    • *
    • RequireSymbols - boolean - Optional -
    • *
    • RequireNumbers - boolean - Optional -
    • *
    • RequireUppercaseCharacters - boolean - Optional -
    • *
    • RequireLowercaseCharacters - boolean - Optional -
    • *
    • AllowUsersToChangePassword - boolean - Optional -
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Updates the policy that grants an entity permission to assume a role. Currently, only an Amazon
    	 * EC2 instance can assume a role. For more information about roles, go to Working with
    	 * Roles.
    	 *
    	 * @param string $role_name (Required) Name of the role to update. [Constraints: The value must be between 1 and 64 characters, and must match the following regular expression pattern: [\w+=,.@-]*]
    	 * @param string $policy_document (Required) The policy that grants an entity permission to assume the role. [Constraints: The value must be between 1 and 131072 characters, and must match the following regular expression pattern: [\u0009\u000A\u000D\u0020-\u00FF]+]
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Updates the name and/or the path of the specified group.
    	 * 
    	 * 

    * You should understand the implications of changing a group's path or name. For more * information, see Renaming Users and Groups in Using AWS Identity and Access Management. *

    *

    * To change a group name the requester must have appropriate permissions on both the source * object and the target object. For example, to change Managers to MGRs, the entity making the * request must have permission on Managers and MGRs, or must have permission on all (*). For more * information about permissions, see Permissions and Policies. *

    * * @param string $group_name (Required) Name of the group to update. If you're changing the name of the group, this is the original name. [Constraints: The value must be between 1 and 128 characters, and must match the following regular expression pattern: [\w+=,.@-]*] * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • NewPath - string - Optional - New path for the group. Only include this if changing the group's path. [Constraints: The value must be between 1 and 512 characters, and must match the following regular expression pattern: (\u002F)|(\u002F[\u0021-\u007F]+\u002F)]
    • *
    • NewGroupName - string - Optional - New name for the group. Only include this if changing the group's name. [Constraints: The value must be between 1 and 128 characters, and must match the following regular expression pattern: [\w+=,.@-]*]
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Changes the password for the specified user.
    	 *
    	 * @param string $user_name (Required) Name of the user whose password you want to update. [Constraints: The value must be between 1 and 64 characters, and must match the following regular expression pattern: [\w+=,.@-]*]
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • Password - string - Optional - The new password for the user name. [Constraints: The value must be between 1 and 128 characters, and must match the following regular expression pattern: [\u0009\u000A\u000D\u0020-\u00FF]+]
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Updates the name and/or the path of the specified server certificate.
    	 * 
    	 * 

    * You should understand the implications of changing a server certificate's path or name. For * more information, see Managing Server Certificates in Using AWS Identity and Access Management. *

    *

    * To change a server certificate name the requester must have appropriate permissions on both the * source object and the target object. For example, to change the name from ProductionCert to * ProdCert, the entity making the request must have permission on ProductionCert and ProdCert, or * must have permission on all (*). For more information about permissions, see Permissions and Policies. *

    * * @param string $server_certificate_name (Required) The name of the server certificate that you want to update. [Constraints: The value must be between 1 and 128 characters, and must match the following regular expression pattern: [\w+=,.@-]*] * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • NewPath - string - Optional - The new path for the server certificate. Include this only if you are updating the server certificate's path. [Constraints: The value must be between 1 and 512 characters, and must match the following regular expression pattern: (\u002F)|(\u002F[\u0021-\u007F]+\u002F)]
    • *
    • NewServerCertificateName - string - Optional - The new name for the server certificate. Include this only if you are updating the server certificate's name. [Constraints: The value must be between 1 and 128 characters, and must match the following regular expression pattern: [\w+=,.@-]*]
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Changes the status of the specified signing certificate from active to disabled, or vice versa.
    	 * This action can be used to disable a user's signing certificate as part of a certificate
    	 * rotation work flow.
    	 *  
    	 * If the UserName field is not specified, the UserName is determined implicitly
    	 * based on the AWS Access Key ID used to sign the request. Because this action works for access
    	 * keys under the AWS account, this API can be used to manage root credentials even if the AWS
    	 * account has no associated users.
    	 *  
    	 * For information about rotating certificates, see Managing Keys and Certificates in Using AWS Identity and Access
    	 * Management.
    	 *
    	 * @param string $certificate_id (Required) The ID of the signing certificate you want to update. [Constraints: The value must be between 24 and 128 characters, and must match the following regular expression pattern: [\w]*]
    	 * @param string $status (Required) The status you want to assign to the certificate. Active means the certificate can be used for API calls to AWS, while Inactive means the certificate cannot be used. [Allowed values: Active, Inactive]
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • UserName - string - Optional - Name of the user the signing certificate belongs to. [Constraints: The value must be between 1 and 128 characters, and must match the following regular expression pattern: [\w+=,.@-]*]
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Updates the name and/or the path of the specified user.
    	 * 
    	 * 

    * You should understand the implications of changing a user's path or name. For more information, * see Renaming Users and Groups in Using AWS Identity and Access Management. *

    *

    * To change a user name the requester must have appropriate permissions on both the source object * and the target object. For example, to change Bob to Robert, the entity making the request must * have permission on Bob and Robert, or must have permission on all (*). For more information * about permissions, see Permissions and Policies. *

    * * @param string $user_name (Required) Name of the user to update. If you're changing the name of the user, this is the original user name. [Constraints: The value must be between 1 and 128 characters, and must match the following regular expression pattern: [\w+=,.@-]*] * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • NewPath - string - Optional - New path for the user. Include this parameter only if you're changing the user's path. [Constraints: The value must be between 1 and 512 characters, and must match the following regular expression pattern: (\u002F)|(\u002F[\u0021-\u007F]+\u002F)]
    • *
    • NewUserName - string - Optional - New name for the user. Include this parameter only if you're changing the user's name. [Constraints: The value must be between 1 and 64 characters, and must match the following regular expression pattern: [\w+=,.@-]*]
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Uploads a server certificate entity for the AWS account. The server certificate entity includes
    	 * a public key certificate, a private key, and an optional certificate chain, which should all be
    	 * PEM-encoded.
    	 *  
    	 * For information about the number of server certificates you can upload, see Limitations on IAM Entities in Using AWS Identity and Access
    	 * Management.
    	 * 
    	 * 

    * Because the body of the public key certificate, private key, and the certificate chain can be * large, you should use POST rather than GET when calling UploadServerCertificate. * For information about setting up signatures and authorization through the API, go to Signing AWS API Requests in the AWS General Reference. For general * information about using the Query API with IAM, go to Making Query Requests in Using IAM. *

    * * @param string $server_certificate_name (Required) The name for the server certificate. Do not include the path in this value. [Constraints: The value must be between 1 and 128 characters, and must match the following regular expression pattern: [\w+=,.@-]*] * @param string $certificate_body (Required) The contents of the public key certificate in PEM-encoded format. [Constraints: The value must be between 1 and 16384 characters, and must match the following regular expression pattern: [\u0009\u000A\u000D\u0020-\u00FF]+] * @param string $private_key (Required) The contents of the private key in PEM-encoded format. [Constraints: The value must be between 1 and 16384 characters, and must match the following regular expression pattern: [\u0009\u000A\u000D\u0020-\u00FF]*] * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • Path - string - Optional - The path for the server certificate. For more information about paths, see Identifiers for IAM Entities in Using AWS Identity and Access Management. This parameter is optional. If it is not included, it defaults to a slash (/). [Constraints: The value must be between 1 and 512 characters, and must match the following regular expression pattern: (\u002F)|(\u002F[\u0021-\u007F]+\u002F)]
    • *
    • CertificateChain - string - Optional - The contents of the certificate chain. This is typically a concatenation of the PEM-encoded public key certificates of the chain. [Constraints: The value must be between 1 and 2097152 characters, and must match the following regular expression pattern: [\u0009\u000A\u000D\u0020-\u00FF]*]
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Uploads an X.509 signing certificate and associates it with the specified user. Some AWS
    	 * services use X.509 signing certificates to validate requests that are signed with a
    	 * corresponding private key. When you upload the certificate, its default status is
    	 * Active.
    	 *  
    	 * If the UserName field is not specified, the user name is determined implicitly
    	 * based on the AWS Access Key ID used to sign the request. Because this action works for access
    	 * keys under the AWS account, this API can be used to manage root credentials even if the AWS
    	 * account has no associated users.
    	 * 
    	 * 

    * Because the body of a X.509 certificate can be large, you should use POST rather than GET when * calling UploadSigningCertificate. For information about setting up signatures and * authorization through the API, go to Signing AWS API Requests in the AWS General Reference. For general * information about using the Query API with IAM, go to Making Query Requests in Using IAM. *

    * * @param string $certificate_body (Required) The contents of the signing certificate. [Constraints: The value must be between 1 and 16384 characters, and must match the following regular expression pattern: [\u0009\u000A\u000D\u0020-\u00FF]+] * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • UserName - string - Optional - Name of the user the signing certificate is for. [Constraints: The value must be between 1 and 128 characters, and must match the following regular expression pattern: [\w+=,.@-]*]
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    /*%******************************************************************************************%*/
    

    Class: IAM_Exception extends Exception {


    File: /destinations/_s3lib/aws-sdk/services/importexport.class.php

    /*
     * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
     *
     * Licensed under the Apache License, Version 2.0 (the "License").
     * You may not use this file except in compliance with the License.
     * A copy of the License is located at
     *
     *  http://aws.amazon.com/apache2.0
     *
     * or in the "license" file accompanying this file. This file is distributed
     * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
     * express or implied. See the License for the specific language governing
     * permissions and limitations under the License.
     */
    
    /**
     * AWS Import/Export accelerates transferring large amounts of data between the AWS cloud and
     * portable storage devices that you mail to us. AWS Import/Export transfers data directly onto
     * and off of your storage devices using Amazon's high-speed internal network and bypassing the
     * Internet. For large data sets, AWS Import/Export is often faster than Internet transfer and
     * more cost effective than upgrading your connectivity.
     *
     * @version 2013.01.14
     * @license See the included NOTICE.md file for complete information.
     * @copyright See the included NOTICE.md file for complete information.
     * @link http://aws.amazon.com/importexport/ AWS Import/Export
     * @link http://aws.amazon.com/importexport/documentation/ AWS Import/Export documentation
     */
    
    	/*%******************************************************************************************%*/
    
    	/**
    	 * Specify the queue URL for the United States East (Northern Virginia) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the United States East (Northern Virginia) Region.
    	 */
    
    	/**
    	 * Default service endpoint.
    	 */
    
    	/*%******************************************************************************************%*/
    
    	/**
    	 * Constructs a new instance of .
    	 *
    	 * @param array $options (Optional) An associative array of parameters that can have the following keys: 
      *
    • certificate_authority - boolean - Optional - Determines which Cerificate Authority file to use. A value of boolean false will use the Certificate Authority file available on the system. A value of boolean true will use the Certificate Authority provided by the SDK. Passing a file system path to a Certificate Authority file (chmodded to 0755) will use that. Leave this set to false if you're not sure.
    • *
    • credentials - string - Optional - The name of the credential set to use for authentication.
    • *
    • default_cache_config - string - Optional - This option allows a preferred storage type to be configured for long-term caching. This can be changed later using the method. Valid values are: apc, xcache, or a file system path such as ./cache or /tmp/cache/.
    • *
    • key - string - Optional - Your AWS key, or a session key. If blank, the default credential set will be used.
    • *
    • secret - string - Optional - Your AWS secret key, or a session secret key. If blank, the default credential set will be used.
    • *
    • token - string - Optional - An AWS session token.
    * @return void */
    	/*%******************************************************************************************%*/
    
    	/**
    	 * This allows you to explicitly sets the region for the service to use.
    	 *
    	 * @param string $region (Required) The region to explicitly set. Available options are .
    	 * @return $this A reference to the current instance.
    	 */
    
    	/*%******************************************************************************************%*/
    
    	/**
    	 * This operation cancels a specified job. Only the job owner can cancel it. The operation fails
    	 * if the job has already started or is complete.
    	 *
    	 * @param string $job_id (Required) A unique identifier which refers to a particular job.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * This operation initiates the process of scheduling an upload or download of your data. You
    	 * include in the request a manifest that describes the data transfer specifics. The response to
    	 * the request includes a job ID, which you can use in other operations, a signature that you use
    	 * to identify your storage device, and the address where you should ship your storage device.
    	 *
    	 * @param string $job_type (Required) Specifies whether the job to initiate is an import or export job. [Allowed values: Import, Export]
    	 * @param string $manifest (Required) The UTF-8 encoded text of the manifest file.
    	 * @param boolean $validate_only (Required) Validate the manifest and parameter values in the request but do not actually create a job.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • ManifestAddendum - string - Optional - For internal use only.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * This operation returns information about a job, including where the job is in the processing
    	 * pipeline, the status of the results, and the signature value associated with the job. You can
    	 * only return information about jobs you own.
    	 *
    	 * @param string $job_id (Required) A unique identifier which refers to a particular job.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * This operation returns the jobs associated with the requester. AWS Import/Export lists the jobs
    	 * in reverse chronological order based on the date of creation. For example if Job Test1 was
    	 * created 2009Dec30 and Test2 was created 2010Feb05, the ListJobs operation would return Test2
    	 * followed by Test1.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • MaxJobs - integer - Optional - Sets the maximum number of jobs returned in the response. If there are additional jobs that were not returned because MaxJobs was exceeded, the response containstrue. To return the additional jobs, see Marker.
    • *
    • Marker - string - Optional - Specifies the JOBID to start after when listing the jobs created with your account. AWS Import/Export lists your jobs in reverse chronological order. See MaxJobs.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * You use this operation to change the parameters specified in the original manifest file by
    	 * supplying a new manifest file. The manifest file attached to this request replaces the original
    	 * manifest file. You can only use the operation after a CreateJob request but before the data
    	 * transfer starts and you can only use it on jobs you own.
    	 *
    	 * @param string $job_id (Required) A unique identifier which refers to a particular job.
    	 * @param string $manifest (Required) The UTF-8 encoded text of the manifest file.
    	 * @param string $job_type (Required) Specifies whether the job to initiate is an import or export job. [Allowed values: Import, Export]
    	 * @param boolean $validate_only (Required) Validate the manifest and parameter values in the request but do not actually create a job.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    /*%******************************************************************************************%*/
    

    Class: ImportExport_Exception extends Exception {


    File: /destinations/_s3lib/aws-sdk/services/rds.class.php

    /*
     * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
     *
     * Licensed under the Apache License, Version 2.0 (the "License").
     * You may not use this file except in compliance with the License.
     * A copy of the License is located at
     *
     *  http://aws.amazon.com/apache2.0
     *
     * or in the "license" file accompanying this file. This file is distributed
     * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
     * express or implied. See the License for the specific language governing
     * permissions and limitations under the License.
     */
    
    /**
     * Amazon Relational Database Service (Amazon RDS) is a web service that makes it easier to set
     * up, operate, and scale a relational database in the cloud. It provides cost-efficient,
     * resizable capacity for an industry-standard relational database and manages common database
     * administration tasks, freeing up developers to focus on what makes their applications and
     * businesses unique.
     *  
     * Amazon RDS gives you access to the capabilities of a familiar MySQL or Oracle database server.
     * This means the code, applications, and tools you already use today with your existing MySQL or
     * Oracle databases work with Amazon RDS without modification. Amazon RDS automatically backs up
     * your database and maintains the database software that powers your DB Instance. Amazon RDS is
     * flexible: you can scale your database instance's compute resources and storage capacity to meet
     * your application's demand. As with all Amazon Web Services, there are no up-front investments,
     * and you pay only for the resources you use.
     *  
     * This is the Amazon RDS API Reference. It contains a comprehensive description of all
     * Amazon RDS Query APIs and data types. Note that this API is asynchronous and some actions may
     * require polling to determine when an action has been applied. See the parameter description to
     * determine if a change is applied immediately or on the next instance reboot or during the
     * maintenance window. To get started with Amazon RDS, go to the Amazon RDS Getting
     * Started Guide. For more information on Amazon RDS concepts and usage scenarios, go to the
     * 	Amazon RDS User
     * Guide.
     *
     * @version 2013.03.14
     * @license See the included NOTICE.md file for complete information.
     * @copyright See the included NOTICE.md file for complete information.
     * @link http://aws.amazon.com/rds/ Amazon Relational Database Service
     * @link http://aws.amazon.com/rds/documentation/ Amazon Relational Database Service documentation
     */
    
    	/*%******************************************************************************************%*/
    
    	/**
    	 * Specify the queue URL for the United States East (Northern Virginia) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the United States East (Northern Virginia) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the United States West (Northern California) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the United States West (Northern California) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the United States West (Oregon) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the United States West (Oregon) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the Europe West (Ireland) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the Europe West (Ireland) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the Asia Pacific Southeast (Singapore) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the Asia Pacific Southeast (Singapore) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the Asia Pacific Southeast (Singapore) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the Asia Pacific Southeast (Singapore) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the Asia Pacific Northeast (Tokyo) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the Asia Pacific Northeast (Tokyo) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the South America (Sao Paulo) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the South America (Sao Paulo) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the United States GovCloud Region.
    	 */
    
    	/**
    	 * Default service endpoint.
    	 */
    
    	/*%******************************************************************************************%*/
    
    	/**
    	 * Constructs a new instance of .
    	 *
    	 * @param array $options (Optional) An associative array of parameters that can have the following keys: 
      *
    • certificate_authority - boolean - Optional - Determines which Cerificate Authority file to use. A value of boolean false will use the Certificate Authority file available on the system. A value of boolean true will use the Certificate Authority provided by the SDK. Passing a file system path to a Certificate Authority file (chmodded to 0755) will use that. Leave this set to false if you're not sure.
    • *
    • credentials - string - Optional - The name of the credential set to use for authentication.
    • *
    • default_cache_config - string - Optional - This option allows a preferred storage type to be configured for long-term caching. This can be changed later using the method. Valid values are: apc, xcache, or a file system path such as ./cache or /tmp/cache/.
    • *
    • key - string - Optional - Your AWS key, or a session key. If blank, the default credential set will be used.
    • *
    • secret - string - Optional - Your AWS secret key, or a session secret key. If blank, the default credential set will be used.
    • *
    • token - string - Optional - An AWS session token.
    * @return void */
    	/*%******************************************************************************************%*/
    
    	/**
    	 * This allows you to explicitly sets the region for the service to use.
    	 *
    	 * @param string $region (Required) The region to explicitly set. Available options are , , , , , , , , .
    	 * @return $this A reference to the current instance.
    	 */
    
    	/*%******************************************************************************************%*/
    
    	/**
    	 * 
    	 *
    	 * @param string $subscription_name (Required) 
    	 * @param string $source_identifier (Required) 
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Adds metadata tags to a DB Instance. These tags can also be used with cost allocation reporting
    	 * to track cost associated with a DB Instance.
    	 *  
    	 * For an overview on tagging DB Instances, see DB
    	 * Instance Tags.
    	 *
    	 * @param string $resource_name (Required) The DB Instance the tags will be added to.
    	 * @param array $tags (Required) The tags to be assigned to the DB Instance. 
      *
    • x - array - Optional - This represents a simple array index.
        *
      • Key - string - Optional - A key is the required name of the tag. The string value can be from 1 to 128 Unicode characters in length and cannot be prefixed with "aws:". The string may only contain only the set of Unicode letters, digits, white-space, '_', '.', '/', '=', '+', '-' (Java regex: "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-]*)$").
      • *
      • Value - string - Optional - A value is the optional value of the tag. The string value can be from 1 to 256 Unicode characters in length and cannot be prefixed with "aws:". The string may only contain only the set of Unicode letters, digits, white-space, '_', '.', '/', '=', '+', '-' (Java regex: "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-]*)$").
      • *
    • *
    * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Enables ingress to a DBSecurityGroup using one of two forms of authorization. First, EC2 or VPC
    	 * Security Groups can be added to the DBSecurityGroup if the application using the database is
    	 * running on EC2 or VPC instances. Second, IP ranges are available if the application accessing
    	 * your database is running on the Internet. Required parameters for this API are one of CIDR
    	 * range, EC2SecurityGroupId for VPC, or (EC2SecurityGroupOwnerId and either EC2SecurityGroupName
    	 * or EC2SecurityGroupId for non-VPC).
    	 * 
    	 * 

    * You cannot authorize ingress from an EC2 security group in one Region to an Amazon RDS DB * Instance in another. You cannot authorize ingress from a VPC security group in one VPC to an * Amazon RDS DB Instance in another. *

    * For an overview of CIDR ranges, go to the Wikipedia Tutorial. * * @param string $db_security_group_name (Required) The name of the DB Security Group to add authorization to. * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • CIDRIP - string - Optional - The IP range to authorize.
    • *
    • EC2SecurityGroupName - string - Optional - Name of the EC2 Security Group to authorize. For VPC DB Security Groups, EC2SecurityGroupId must be provided. Otherwise, EC2SecurityGroupOwnerId and either EC2SecurityGroupName or EC2SecurityGroupId must be provided.
    • *
    • EC2SecurityGroupId - string - Optional - Id of the EC2 Security Group to authorize. For VPC DB Security Groups, EC2SecurityGroupId must be provided. Otherwise, EC2SecurityGroupOwnerId and either EC2SecurityGroupName or EC2SecurityGroupId must be provided.
    • *
    • EC2SecurityGroupOwnerId - string - Optional - AWS Account Number of the owner of the EC2 Security Group specified in the EC2SecurityGroupName parameter. The AWS Access Key ID is not an acceptable value. For VPC DB Security Groups, EC2SecurityGroupId must be provided. Otherwise, EC2SecurityGroupOwnerId and either EC2SecurityGroupName or EC2SecurityGroupId must be provided.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Copies the specified DBSnapshot. The source DBSnapshot must be in the "available" state.
    	 *
    	 * @param string $source_db_snapshot_identifier (Required) The identifier for the source DB snapshot. Constraints:
    • Must be the identifier for a valid system snapshot in the "available" state.
    Example: rds:mydb-2012-04-02-00-01 * @param string $target_db_snapshot_identifier (Required) The identifier for the copied snapshot. Constraints:
    • Cannot be null, empty, or blank
    • Must contain from 1 to 255 alphanumeric characters or hyphens
    • First character must be a letter
    • Cannot end with a hyphen or contain two consecutive hyphens
    Example: my-db-snapshot * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Creates a new DB instance.
    	 *
    	 * @param string $db_instance_identifier (Required) The DB Instance identifier. This parameter is stored as a lowercase string. Constraints:
    • Must contain from 1 to 63 alphanumeric characters or hyphens (1 to 15 for SQL Server).
    • First character must be a letter.
    • Cannot end with a hyphen or contain two consecutive hyphens.
    Example: mydbinstance * @param integer $allocated_storage (Required) The amount of storage (in gigabytes) to be initially allocated for the database instance. MySQL Constraints: Must be an integer from 5 to 1024. Type: Integer Oracle Constraints: Must be an integer from 10 to 1024. SQL Server Constraints: Must be an integer from 200 to 1024 (Standard Edition and Enterprise Edition) or from 30 to 1024 (Express Edition and Web Edition) * @param string $db_instance_class (Required) The compute and memory capacity of the DB Instance. Valid Values: db.t1.micro | db.m1.small | db.m1.medium | db.m1.large | db.m1.xlarge | db.m2.xlarge |db.m2.2xlarge | db.m2.4xlarge * @param string $engine (Required) The name of the database engine to be used for this instance. Valid Values: MySQL | oracle-se1 | oracle-se | oracle-ee | sqlserver-ee | sqlserver-se | sqlserver-ex | sqlserver-web * @param string $master_username (Required) The name of master user for the client DB Instance. MySQL Constraints:
    • Must be 1 to 16 alphanumeric characters.
    • First character must be a letter.
    • Cannot be a reserved word for the chosen database engine.
    Type: String Oracle Constraints:
    • Must be 1 to 30 alphanumeric characters.
    • First character must be a letter.
    • Cannot be a reserved word for the chosen database engine.
    SQL Server Constraints:
    • Must be 1 to 128 alphanumeric characters.
    • First character must be a letter.
    • Cannot be a reserved word for the chosen database engine.
    * @param string $master_user_password (Required) The password for the master database user. Can be any printable ASCII character except "/", "\", or "@". Type: String MySQL Constraints: Must contain from 8 to 41 alphanumeric characters. Oracle Constraints: Must contain from 8 to 30 alphanumeric characters. SQL Server Constraints: Must contain from 8 to 128 alphanumeric characters. * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • DBName - string - Optional - The meaning of this parameter differs according to the database engine you use. MySQL The name of the database to create when the DB Instance is created. If this parameter is not specified, no database is created in the DB Instance. Constraints:
      • Must contain 1 to 64 alphanumeric characters
      • Cannot be a word reserved by the specified database engine
      Type: String Oracle The Oracle System ID (SID) of the created DB Instance. Default: ORCL Constraints:
      • Cannot be longer than 8 characters
      SQL Server Not applicable. Must be null.
    • *
    • DBSecurityGroups - string|array - Optional - A list of DB Security Groups to associate with this DB Instance. Default: The default DB Security Group for the database engine. Pass a string for a single value, or an indexed array for multiple values.
    • *
    • VpcSecurityGroupIds - string|array - Optional - A list of EC2 VPC Security Groups to associate with this DB Instance. Default: The default EC2 VPC Security Group for the DB Subnet group's VPC. Pass a string for a single value, or an indexed array for multiple values.
    • *
    • AvailabilityZone - string - Optional - The EC2 Availability Zone that the database instance will be created in. Default: A random, system-chosen Availability Zone in the endpoint's region. Example: us-east-1d Constraint: The AvailabilityZone parameter cannot be specified if the MultiAZ parameter is set to true. The specified Availability Zone must be in the same region as the current endpoint.
    • *
    • DBSubnetGroupName - string - Optional - A DB Subnet Group to associate with this DB Instance. If there is no DB Subnet Group, then it is a non-VPC DB instance.
    • *
    • PreferredMaintenanceWindow - string - Optional - The weekly time range (in UTC) during which system maintenance can occur. Format: ddd:hh24:mi-ddd:hh24:mi Default: A 30-minute window selected at random from an 8-hour block of time per region, occurring on a random day of the week. The following list shows the time blocks for each region from which the default maintenance windows are assigned.
      • US-East (Northern Virginia) Region: 03:00-11:00 UTC
      • US-West (Northern California) Region: 06:00-14:00 UTC
      • EU (Ireland) Region: 22:00-06:00 UTC
      • Asia Pacific (Singapore) Region: 14:00-22:00 UTC
      • Asia Pacific (Tokyo) Region: 17:00-03:00 UTC
      Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun Constraints: Minimum 30-minute window.
    • *
    • DBParameterGroupName - string - Optional - The name of the DB Parameter Group to associate with this DB instance. If this argument is omitted, the default DBParameterGroup for the specified engine will be used. Constraints:
      • Must be 1 to 255 alphanumeric characters
      • First character must be a letter
      • Cannot end with a hyphen or contain two consecutive hyphens
    • *
    • BackupRetentionPeriod - integer - Optional - The number of days for which automated backups are retained. Setting this parameter to a positive number enables backups. Setting this parameter to 0 disables automated backups. Default: 1 Constraints:
      • Must be a value from 0 to 8
      • Cannot be set to 0 if the DB Instance is a master instance with read replicas
    • *
    • PreferredBackupWindow - string - Optional - The daily time range during which automated backups are created if automated backups are enabled, using the BackupRetentionPeriod parameter. Default: A 30-minute window selected at random from an 8-hour block of time per region. The following list shows the time blocks for each region from which the default backup windows are assigned.
      • US-East (Northern Virginia) Region: 03:00-11:00 UTC
      • US-West (Northern California) Region: 06:00-14:00 UTC
      • EU (Ireland) Region: 22:00-06:00 UTC
      • Asia Pacific (Singapore) Region: 14:00-22:00 UTC
      • Asia Pacific (Tokyo) Region: 17:00-03:00 UTC
      Constraints: Must be in the format hh24:mi-hh24:mi. Times should be Universal Time Coordinated (UTC). Must not conflict with the preferred maintenance window. Must be at least 30 minutes.
    • *
    • Port - integer - Optional - The port number on which the database accepts connections. MySQL Default: 3306 Valid Values: 1150-65535 Type: Integer Oracle Default: 1521 Valid Values: 1150-65535 SQL Server Default: 1433 Valid Values: 1150-65535 except for 1434 and 3389.
    • *
    • MultiAZ - boolean - Optional - Specifies if the DB Instance is a Multi-AZ deployment. You cannot set the AvailabilityZone parameter if the MultiAZ parameter is set to true.
    • *
    • EngineVersion - string - Optional - The version number of the database engine to use. MySQL Example: 5.1.42 Type: String Oracle Example: 11.2.0.2.v2 Type: String SQL Server Example: 10.50.2789.0.v1
    • *
    • AutoMinorVersionUpgrade - boolean - Optional - Indicates that minor engine upgrades will be applied automatically to the DB Instance during the maintenance window. Default: true
    • *
    • LicenseModel - string - Optional - License model information for this DB Instance. Valid values: license-included | bring-your-own-license | general-public-license
    • *
    • Iops - integer - Optional - The amount of Provisioned IOPS (input/output operations per second) to be initially allocated for the DB Instance. Constraints: Must be an integer greater than 1000.
    • *
    • OptionGroupName - string - Optional - Indicates that the DB Instance should be associated with the specified option group.
    • *
    • CharacterSetName - string - Optional - For supported engines, indicates that the DB Instance should be associated with the specified CharacterSet.
    • *
    • PubliclyAccessible - boolean - Optional -
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Creates a DB Instance that acts as a Read Replica of a source DB Instance.
    	 *  
    	 * All Read Replica DB Instances are created as Single-AZ deployments with backups disabled. All
    	 * other DB Instance attributes (including DB Security Groups and DB Parameter Groups) are
    	 * inherited from the source DB Instance, except as specified below.
    	 * 
    	 * 

    * The source DB Instance must have backup retention enabled. * * @param string $db_instance_identifier (Required) The DB Instance identifier of the Read Replica. This is the unique key that identifies a DB Instance. This parameter is stored as a lowercase string. * @param string $source_db_instance_identifier (Required) The identifier of the DB Instance that will act as the source for the Read Replica. Each DB Instance can have up to five Read Replicas. Constraints: Must be the identifier of an existing DB Instance that is not already a Read Replica DB Instance. * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • DBInstanceClass - string - Optional - The compute and memory capacity of the Read Replica. Valid Values: db.m1.small | db.m1.medium | db.m1.large | db.m1.xlarge | db.m2.xlarge |db.m2.2xlarge | db.m2.4xlarge Default: Inherits from the source DB Instance.
    • *
    • AvailabilityZone - string - Optional - The Amazon EC2 Availability Zone that the Read Replica will be created in. Default: A random, system-chosen Availability Zone in the endpoint's region. Example: us-east-1d
    • *
    • Port - integer - Optional - The port number that the DB Instance uses for connections. Default: Inherits from the source DB Instance Valid Values: 1150-65535
    • *
    • AutoMinorVersionUpgrade - boolean - Optional - Indicates that minor engine upgrades will be applied automatically to the Read Replica during the maintenance window. Default: Inherits from the source DB Instance
    • *
    • Iops - integer - Optional - The amount of Provisioned IOPS (input/output operations per second) to be initially allocated for the DB Instance.
    • *
    • OptionGroupName - string - Optional - The option group the DB instance will be associated with. If omitted, the default Option Group for the engine specified will be used.
    • *
    • PubliclyAccessible - boolean - Optional -
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Creates a new DB Parameter Group.
    	 *  
    	 * A DB Parameter Group is initially created with the default parameters for the database engine
    	 * used by the DB Instance. To provide custom values for any of the parameters, you must modify
    	 * the group after creating it using ModifyDBParameterGroup. Once you've created a DB
    	 * Parameter Group, you need to associate it with your DB Instance using
    	 * ModifyDBInstance. When you associate a new DB Parameter Group with a running DB
    	 * Instance, you need to reboot the DB Instance for the new DB Parameter Group and associated
    	 * settings to take effect.
    	 *
    	 * @param string $db_parameter_group_name (Required) The name of the DB Parameter Group. Constraints:
    • Must be 1 to 255 alphanumeric characters
    • First character must be a letter
    • Cannot end with a hyphen or contain two consecutive hyphens

    This value is stored as a lower-case string.

    * @param string $db_parameter_group_family (Required) The DB Parameter Group Family name. A DB Parameter Group can be associated with one and only one DB Parameter Group Family, and can be applied only to a DB Instance running a database engine and engine version compatible with that DB Parameter Group Family. * @param string $description (Required) The description for the DB Parameter Group. * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Creates a new DB Security Group. DB Security Groups control access to a DB Instance.
    	 *
    	 * @param string $db_security_group_name (Required) The name for the DB Security Group. This value is stored as a lowercase string. Constraints: Must contain no more than 255 alphanumeric characters or hyphens. Must not be "Default". Example: mysecuritygroup
    	 * @param string $db_security_group_description (Required) The description for the DB Security Group.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Creates a DBSnapshot. The source DBInstance must be in "available" state.
    	 *
    	 * @param string $db_snapshot_identifier (Required) The identifier for the DB Snapshot. Constraints:
    • Cannot be null, empty, or blank
    • Must contain from 1 to 255 alphanumeric characters or hyphens
    • First character must be a letter
    • Cannot end with a hyphen or contain two consecutive hyphens
    Example: my-snapshot-id * @param string $db_instance_identifier (Required) The DB Instance identifier. This is the unique key that identifies a DB Instance. This parameter isn't case sensitive. Constraints:
    • Must contain from 1 to 63 alphanumeric characters or hyphens
    • First character must be a letter
    • Cannot end with a hyphen or contain two consecutive hyphens
    * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Creates a new DB subnet group. DB subnet groups must contain at least one subnet in at least
    	 * two AZs in the region.
    	 *
    	 * @param string $db_subnet_group_name (Required) The name for the DB Subnet Group. This value is stored as a lowercase string. Constraints: Must contain no more than 255 alphanumeric characters or hyphens. Must not be "Default". Example: mySubnetgroup
    	 * @param string $db_subnet_group_description (Required) The description for the DB Subnet Group.
    	 * @param string|array $subnet_ids (Required) The EC2 Subnet IDs for the DB Subnet Group. Pass a string for a single value, or an indexed array for multiple values.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * 
    	 *
    	 * @param string $subscription_name (Required) 
    	 * @param string $sns_topic_arn (Required) 
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • SourceType - string - Optional -
    • *
    • EventCategories - string|array - Optional - Pass a string for a single value, or an indexed array for multiple values.
    • *
    • SourceIds - string|array - Optional - Pass a string for a single value, or an indexed array for multiple values.
    • *
    • Enabled - boolean - Optional -
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Creates a new Option Group.
    	 *
    	 * @param string $option_group_name (Required) Specifies the name of the option group to be created. Constraints:
    • Must be 1 to 255 alphanumeric characters or hyphens
    • First character must be a letter
    • Cannot end with a hyphen or contain two consecutive hyphens
    Example: myOptiongroup * @param string $engine_name (Required) Specifies the name of the engine that this option group should be associated with. * @param string $major_engine_version (Required) Specifies the major version of the engine that this option group should be associated with. * @param string $option_group_description (Required) The description of the option group. * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * The DeleteDBInstance API deletes a previously provisioned RDS instance. A successful response
    	 * from the web service indicates the request was received correctly. If a final DBSnapshot is
    	 * requested the status of the RDS instance will be "deleting" until the DBSnapshot is created.
    	 * DescribeDBInstance is used to monitor the status of this operation. This cannot be canceled or
    	 * reverted once submitted.
    	 *
    	 * @param string $db_instance_identifier (Required) The DB Instance identifier for the DB Instance to be deleted. This parameter isn't case sensitive. Constraints:
    • Must contain from 1 to 63 alphanumeric characters or hyphens
    • First character must be a letter
    • Cannot end with a hyphen or contain two consecutive hyphens
    * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • SkipFinalSnapshot - boolean - Optional - Determines whether a final DB Snapshot is created before the DB Instance is deleted. If true is specified, no DBSnapshot is created. If false is specified, a DB Snapshot is created before the DB Instance is deleted.

      The FinalDBSnapshotIdentifier parameter must be specified if SkipFinalSnapshot is false.

      Default: false
    • *
    • FinalDBSnapshotIdentifier - string - Optional - The DBSnapshotIdentifier of the new DBSnapshot created when SkipFinalSnapshot is set to false.

      Specifying this parameter and also setting the SkipFinalShapshot parameter to true results in an error.

      Constraints:
      • Must be 1 to 255 alphanumeric characters
      • First character must be a letter
      • Cannot end with a hyphen or contain two consecutive hyphens
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Deletes a specified DBParameterGroup. The DBParameterGroup cannot be associated with any RDS
    	 * instances to be deleted.
    	 * 
    	 * 

    * The specified DB Parameter Group cannot be associated with any DB Instances. *

    * * @param string $db_parameter_group_name (Required) The name of the DB Parameter Group. Constraints:
    • Must be the name of an existing DB Parameter Group
    • You cannot delete a default DB Parameter Group
    • Cannot be associated with any DB Instances
    * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Deletes a DB Security Group.
    	 * 
    	 * 

    * The specified DB Security Group must not be associated with any DB Instances. *

    * * @param string $db_security_group_name (Required) The name of the DB Security Group to delete.

    You cannot delete the default DB Security Group.

    Constraints:
    • Must be 1 to 255 alphanumeric characters
    • First character must be a letter
    • Cannot end with a hyphen or contain two consecutive hyphens
    * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Deletes a DBSnapshot.
    	 * 
    	 * 

    * The DBSnapshot must be in the available state to be deleted. *

    * * @param string $db_snapshot_identifier (Required) The DBSnapshot identifier. Constraints: Must be the name of an existing DB Snapshot in the available state. * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Deletes a DB subnet group.
    	 * 
    	 * 

    * The specified database subnet group must not be associated with any DB instances. *

    * * @param string $db_subnet_group_name (Required) The name of the database subnet group to delete.

    You cannot delete the default subnet group.

    Constraints:
    • Must be 1 to 255 alphanumeric characters
    • First character must be a letter
    • Cannot end with a hyphen or contain two consecutive hyphens
    * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * 
    	 *
    	 * @param string $subscription_name (Required) 
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Deletes an existing Option Group.
    	 *
    	 * @param string $option_group_name (Required) The name of the option group to be deleted. 

    You cannot delete default Option Groups.

    * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Returns a list of the available DB engines.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • Engine - string - Optional - The database engine to return.
    • *
    • EngineVersion - string - Optional - The database engine version to return. Example: 5.1.49
    • *
    • DBParameterGroupFamily - string - Optional - The name of a specific DB Parameter Group family to return details for. Constraints:
      • Must be 1 to 255 alphanumeric characters
      • First character must be a letter
      • Cannot end with a hyphen or contain two consecutive hyphens
    • *
    • MaxRecords - integer - Optional - The maximum number of records to include in the response. If more than the MaxRecords value is available, a pagination token called a marker is included in the response so that the following results can be retrieved. Default: 100 Constraints: minimum 20, maximum 100
    • *
    • Marker - string - Optional - An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.
    • *
    • DefaultOnly - boolean - Optional - Indicates that only the default version of the specified engine or engine and major version combination is returned.
    • *
    • ListSupportedCharacterSets - boolean - Optional - If this parameter is specified, and if the requested engine supports the CharacterSetName parameter for CreateDBInstance, the response includes a list of supported character sets for each engine version.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Returns information about provisioned RDS instances. This API supports pagination.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • DBInstanceIdentifier - string - Optional - The user-supplied instance identifier. If this parameter is specified, information from only the specific DB Instance is returned. This parameter isn't case sensitive. Constraints:
      • Must contain from 1 to 63 alphanumeric characters or hyphens
      • First character must be a letter
      • Cannot end with a hyphen or contain two consecutive hyphens
    • *
    • MaxRecords - integer - Optional - The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results may be retrieved. Default: 100 Constraints: minimum 20, maximum 100
    • *
    • Marker - string - Optional - An optional pagination token provided by a previous DescribeDBInstances request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Returns a list of DB log files for the DB instance.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • DBInstanceIdentifier - string - Optional - The customer-assigned name of the DB Instance that contains the log files you want to list. Constraints:
      • Must contain from 1 to 63 alphanumeric characters or hyphens
      • First character must be a letter
      • Cannot end with a hyphen or contain two consecutive hyphens
    • *
    • FilenameContains - string - Optional - Filters the available log files for log file names that contain the specified string.
    • *
    • FileLastWritten - long - Optional - Filters the available log files for files written since the specified date.
    • *
    • FileSize - long - Optional - Filters the available log files for files larger than the specified size.
    • *
    • MaxRecords - integer - Optional - The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved.
    • *
    • Marker - string - Optional - The pagination token provided in the previous request. If this parameter is specified the response includes only records beyond the marker, up to MaxRecords.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Returns a list of DBParameterGroup descriptions. If a DBParameterGroupName is specified, the
    	 * list will contain only the description of the specified DBParameterGroup.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • DBParameterGroupName - string - Optional - The name of a specific DB Parameter Group to return details for. Constraints:
      • Must be 1 to 255 alphanumeric characters
      • First character must be a letter
      • Cannot end with a hyphen or contain two consecutive hyphens
    • *
    • MaxRecords - integer - Optional - The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results may be retrieved. Default: 100 Constraints: minimum 20, maximum 100
    • *
    • Marker - string - Optional - An optional pagination token provided by a previous DescribeDBParameterGroups request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Returns the detailed parameter list for a particular DBParameterGroup.
    	 *
    	 * @param string $db_parameter_group_name (Required) The name of a specific DB Parameter Group to return details for. Constraints:
    • Must be 1 to 255 alphanumeric characters
    • First character must be a letter
    • Cannot end with a hyphen or contain two consecutive hyphens
    * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • Source - string - Optional - The parameter types to return. Default: All parameter types returned Valid Values: user | system | engine-default
    • *
    • MaxRecords - integer - Optional - The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results may be retrieved. Default: 100 Constraints: minimum 20, maximum 100
    • *
    • Marker - string - Optional - An optional pagination token provided by a previous DescribeDBParameters request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Returns a list of DBSecurityGroup descriptions. If a DBSecurityGroupName is specified, the list
    	 * will contain only the descriptions of the specified DBSecurityGroup.
    	 *  
    	 * For an overview of CIDR ranges, go to the Wikipedia Tutorial.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • DBSecurityGroupName - string - Optional - The name of the DB Security Group to return details for.
    • *
    • MaxRecords - integer - Optional - The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results may be retrieved. Default: 100 Constraints: minimum 20, maximum 100
    • *
    • Marker - string - Optional - An optional pagination token provided by a previous DescribeDBSecurityGroups request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Returns information about DBSnapshots. This API supports pagination.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • DBInstanceIdentifier - string - Optional - A DB Instance Identifier to retrieve the list of DB Snapshots for. Cannot be used in conjunction with DBSnapshotIdentifier. This parameter isn't case sensitive. Constraints:
      • Must contain from 1 to 63 alphanumeric characters or hyphens
      • First character must be a letter
      • Cannot end with a hyphen or contain two consecutive hyphens
    • *
    • DBSnapshotIdentifier - string - Optional - A specific DB Snapshot Identifier to describe. Cannot be used in conjunction with DBInstanceIdentifier. This value is stored as a lowercase string. Constraints:
      • Must be 1 to 255 alphanumeric characters
      • First character must be a letter
      • Cannot end with a hyphen or contain two consecutive hyphens
      • If this is the identifier of an automated snapshot, the SnapshotType parameter must also be specified.
    • *
    • SnapshotType - string - Optional - An optional snapshot type for which snapshots will be returned. If not specified, the returned results will include snapshots of all types.
    • *
    • MaxRecords - integer - Optional - The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results may be retrieved. Default: 100 Constraints: minimum 20, maximum 100
    • *
    • Marker - string - Optional - An optional pagination token provided by a previous DescribeDBSnapshots request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Returns a list of DBSubnetGroup descriptions. If a DBSubnetGroupName is specified, the list
    	 * will contain only the descriptions of the specified DBSubnetGroup.
    	 *  
    	 * For an overview of CIDR ranges, go to the Wikipedia Tutorial.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • DBSubnetGroupName - string - Optional - The name of the DB Subnet Group to return details for.
    • *
    • MaxRecords - integer - Optional - The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results may be retrieved. Default: 100 Constraints: minimum 20, maximum 100
    • *
    • Marker - string - Optional - An optional pagination token provided by a previous DescribeDBSubnetGroups request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Returns the default engine and system parameter information for the specified database engine.
    	 *
    	 * @param string $db_parameter_group_family (Required) The name of the DB Parameter Group Family.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • MaxRecords - integer - Optional - The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results may be retrieved. Default: 100 Constraints: minimum 20, maximum 100
    • *
    • Marker - string - Optional - An optional pagination token provided by a previous DescribeEngineDefaultParameters request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * 
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • SourceType - string - Optional -
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * 
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • SubscriptionName - string - Optional -
    • *
    • MaxRecords - integer - Optional -
    • *
    • Marker - string - Optional -
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Returns events related to DB Instances, DB Security Groups, DB Snapshots and DB Parameter
    	 * Groups for the past 14 days. Events specific to a particular DB Instance, DB Security Group,
    	 * database snapshot or DB Parameter Group can be obtained by providing the name as a parameter.
    	 * By default, the past hour of events are returned.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • SourceIdentifier - string - Optional - The identifier of the event source for which events will be returned. If not specified, then all sources are included in the response. Constraints:
      • If SourceIdentifier is supplied, SourceType must also be provided.
      • If the source type is DBInstance, then a DBInstanceIdentifier must be supplied.
      • If the source type is DBSecurityGroup, a DBSecurityGroupName must be supplied.
      • If the source type is DBParameterGroup, a DBParameterGroupName must be supplied.
      • If the source type is DBSnapshot, a DBSnapshotIdentifier must be supplied.
      • Cannot end with a hyphen or contain two consecutive hyphens.
    • *
    • SourceType - string - Optional - The event source to retrieve events for. If no value is specified, all events are returned. [Allowed values: db-instance, db-parameter-group, db-security-group, db-snapshot]
    • *
    • StartTime - string - Optional - The beginning of the time interval to retrieve events for, specified in ISO 8601 format. For more information about ISO 8601, go to the ISO8601 Wikipedia page. Example: 2009-07-08T18:00Z May be passed as a number of seconds since UNIX Epoch, or any string compatible with .
    • *
    • EndTime - string - Optional - The end of the time interval for which to retrieve events, specified in ISO 8601 format. For more information about ISO 8601, go to the ISO8601 Wikipedia page. Example: 2009-07-08T18:00Z May be passed as a number of seconds since UNIX Epoch, or any string compatible with .
    • *
    • Duration - integer - Optional - The number of minutes to retrieve events for. Default: 60
    • *
    • EventCategories - string|array - Optional - Pass a string for a single value, or an indexed array for multiple values.
    • *
    • MaxRecords - integer - Optional - The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results may be retrieved. Default: 100 Constraints: minimum 20, maximum 100
    • *
    • Marker - string - Optional - An optional pagination token provided by a previous DescribeEvents request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Describes all available options.
    	 *
    	 * @param string $engine_name (Required) A required parameter. Options available for the given Engine name will be described.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • MajorEngineVersion - string - Optional - If specified, filters the results to include only options for the specified major engine version.
    • *
    • MaxRecords - integer - Optional - The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved. Default: 100 Constraints: minimum 20, maximum 100
    • *
    • Marker - string - Optional - An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Describes the available option groups.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • OptionGroupName - string - Optional - The name of the option group to describe. Cannot be supplied together with EngineName or MajorEngineVersion.
    • *
    • Marker - string - Optional - An optional pagination token provided by a previous DescribeOptionGroups request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.
    • *
    • MaxRecords - integer - Optional - The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved. Default: 100 Constraints: minimum 20, maximum 100
    • *
    • EngineName - string - Optional - Filters the list of option groups to only include groups associated with a specific database engine.
    • *
    • MajorEngineVersion - string - Optional - Filters the list of option groups to only include groups associated with a specific database engine version. If specified, then EngineName must also be specified.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Returns a list of orderable DB Instance options for the specified engine.
    	 *
    	 * @param string $engine (Required) The name of the engine to retrieve DB Instance options for.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • EngineVersion - string - Optional - The engine version filter value. Specify this parameter to show only the available offerings matching the specified engine version.
    • *
    • DBInstanceClass - string - Optional - The DB Instance class filter value. Specify this parameter to show only the available offerings matching the specified DB Instance class.
    • *
    • LicenseModel - string - Optional - The license model filter value. Specify this parameter to show only the available offerings matching the specified license model.
    • *
    • Vpc - boolean - Optional - The VPC filter value. Specify this parameter to show only the available VPC or non-VPC offerings.
    • *
    • MaxRecords - integer - Optional - The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved. Default: 100 Constraints: minimum 20, maximum 100
    • *
    • Marker - string - Optional - An optional pagination token provided by a previous DescribeOrderableDBInstanceOptions request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Returns information about reserved DB Instances for this account, or about a specified reserved
    	 * DB Instance.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • ReservedDBInstanceId - string - Optional - The reserved DB Instance identifier filter value. Specify this parameter to show only the reservation that matches the specified reservation ID.
    • *
    • ReservedDBInstancesOfferingId - string - Optional - The offering identifier filter value. Specify this parameter to show only purchased reservations matching the specified offering identifier.
    • *
    • DBInstanceClass - string - Optional - The DB Instance class filter value. Specify this parameter to show only those reservations matching the specified DB Instances class.
    • *
    • Duration - string - Optional - The duration filter value, specified in years or seconds. Specify this parameter to show only reservations for this duration. Valid Values: 1 | 3 | 31536000 | 94608000
    • *
    • ProductDescription - string - Optional - The product description filter value. Specify this parameter to show only those reservations matching the specified product description.
    • *
    • OfferingType - string - Optional - The offering type filter value. Specify this parameter to show only the available offerings matching the specified offering type. Valid Values: "Light Utilization" | "Medium Utilization" | "Heavy Utilization"
    • *
    • MultiAZ - boolean - Optional - The Multi-AZ filter value. Specify this parameter to show only those reservations matching the specified Multi-AZ parameter.
    • *
    • MaxRecords - integer - Optional - The maximum number of records to include in the response. If more than the MaxRecords value is available, a pagination token called a marker is included in the response so that the following results can be retrieved. Default: 100 Constraints: minimum 20, maximum 100
    • *
    • Marker - string - Optional - An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Lists available reserved DB Instance offerings.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • ReservedDBInstancesOfferingId - string - Optional - The offering identifier filter value. Specify this parameter to show only the available offering that matches the specified reservation identifier. Example: 438012d3-4052-4cc7-b2e3-8d3372e0e706
    • *
    • DBInstanceClass - string - Optional - The DB Instance class filter value. Specify this parameter to show only the available offerings matching the specified DB Instance class.
    • *
    • Duration - string - Optional - Duration filter value, specified in years or seconds. Specify this parameter to show only reservations for this duration. Valid Values: 1 | 3 | 31536000 | 94608000
    • *
    • ProductDescription - string - Optional - Product description filter value. Specify this parameter to show only the available offerings matching the specified product description.
    • *
    • OfferingType - string - Optional - The offering type filter value. Specify this parameter to show only the available offerings matching the specified offering type. Valid Values: "Light Utilization" | "Medium Utilization" | "Heavy Utilization"
    • *
    • MultiAZ - boolean - Optional - The Multi-AZ filter value. Specify this parameter to show only the available offerings matching the specified Multi-AZ parameter.
    • *
    • MaxRecords - integer - Optional - The maximum number of records to include in the response. If more than the MaxRecords value is available, a pagination token called a marker is included in the response so that the following results can be retrieved. Default: 100 Constraints: minimum 20, maximum 100
    • *
    • Marker - string - Optional - An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Downloads the last line of the specified log file.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • DBInstanceIdentifier - string - Optional - The customer-assigned name of the DB Instance that contains the log files you want to list. Constraints:
      • Must contain from 1 to 63 alphanumeric characters or hyphens
      • First character must be a letter
      • Cannot end with a hyphen or contain two consecutive hyphens
    • *
    • LogFileName - string - Optional - The name of the log file to be downloaded.
    • *
    • Marker - string - Optional - The pagination token provided in the previous request. If this parameter is specified the response includes only records beyond the marker, up to MaxRecords.
    • *
    • NumberOfLines - integer - Optional - The number of lines remaining to be downloaded.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Lists all tags on a DB Instance.
    	 *  
    	 * For an overview on tagging DB Instances, see DB
    	 * Instance Tags.
    	 *
    	 * @param string $resource_name (Required) The DB Instance with tags to be listed.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Modify settings for a DB Instance. You can change one or more database configuration parameters
    	 * by specifying these parameters and the new values in the request.
    	 *
    	 * @param string $db_instance_identifier (Required) The DB Instance identifier. This value is stored as a lowercase string. Constraints:
    • Must be the identifier for an existing DB Instance
    • Must contain from 1 to 63 alphanumeric characters or hyphens
    • First character must be a letter
    • Cannot end with a hyphen or contain two consecutive hyphens
    * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • AllocatedStorage - integer - Optional - The new storage capacity of the RDS instance. Changing this parameter does not result in an outage and the change is applied during the next maintenance window unless the ApplyImmediately parameter is set to true for this request. MySQL Default: Uses existing setting Valid Values: 5-1024 Constraints: Value supplied must be at least 10% greater than the current value. Values that are not at least 10% greater than the existing value are rounded up so that they are 10% greater than the current value. Type: Integer Oracle Default: Uses existing setting Valid Values: 10-1024 Constraints: Value supplied must be at least 10% greater than the current value. Values that are not at least 10% greater than the existing value are rounded up so that they are 10% greater than the current value. SQL Server Cannot be modified.
    • *
    • DBInstanceClass - string - Optional - The new compute and memory capacity of the DB Instance. To determine the instance classes that are available for a particular DB engine, use the DescribeOrderableDBInstanceOptions action. Passing a value for this parameter causes an outage during the change and is applied during the next maintenance window, unless the ApplyImmediately parameter is specified as true for this request. Default: Uses existing setting Valid Values: db.t1.micro | db.m1.small | db.m1.medium | db.m1.large | db.m1.xlarge | db.m2.xlarge | db.m2.2xlarge | db.m2.4xlarge
    • *
    • DBSecurityGroups - string|array - Optional - A list of DB Security Groups to authorize on this DB Instance. Changing this parameter does not result in an outage and the change is asynchronously applied as soon as possible. Constraints:
      • Must be 1 to 255 alphanumeric characters
      • First character must be a letter
      • Cannot end with a hyphen or contain two consecutive hyphens
      Pass a string for a single value, or an indexed array for multiple values.
    • *
    • VpcSecurityGroupIds - string|array - Optional - A list of EC2 VPC Security Groups to authorize on this DB Instance. This change is asynchronously applied as soon as possible. Constraints:
      • Must be 1 to 255 alphanumeric characters
      • First character must be a letter
      • Cannot end with a hyphen or contain two consecutive hyphens
      Pass a string for a single value, or an indexed array for multiple values.
    • *
    • ApplyImmediately - boolean - Optional - Specifies whether or not the modifications in this request and any pending modifications are asynchronously applied as soon as possible, regardless of the PreferredMaintenanceWindow setting for the DB Instance. If this parameter is passed as false, changes to the DB Instance are applied on the next call to RebootDBInstance, the next maintenance reboot, or the next failure reboot, whichever occurs first. See each parameter to determine when a change is applied. Default: false
    • *
    • MasterUserPassword - string - Optional - The new password for the DB Instance master user. Can be any printable ASCII character except "/", "\", or "@". Changing this parameter does not result in an outage and the change is asynchronously applied as soon as possible. Between the time of the request and the completion of the request, the MasterUserPassword element exists in the PendingModifiedValues element of the operation response. Default: Uses existing setting Constraints: Must be 8 to 41 alphanumeric characters (MySQL), 8 to 30 alphanumeric characters (Oracle), or 8 to 128 alphanumeric characters (SQL Server).

      Amazon RDS API actions never return the password, so this action provides a way to regain access to a master instance user if the password is lost.

    • *
    • DBParameterGroupName - string - Optional - The name of the DB Parameter Group to apply to this DB Instance. Changing this parameter does not result in an outage and the change is applied during the next maintenance window unless the ApplyImmediately parameter is set to true for this request. Default: Uses existing setting Constraints: The DB Parameter Group must be in the same DB Parameter Group family as this DB Instance.
    • *
    • BackupRetentionPeriod - integer - Optional - The number of days to retain automated backups. Setting this parameter to a positive number enables backups. Setting this parameter to 0 disables automated backups. Changing this parameter can result in an outage if you change from 0 to a non-zero value or from a non-zero value to 0. These changes are applied during the next maintenance window unless the ApplyImmediately parameter is set to true for this request. If you change the parameter from one non-zero value to another non-zero value, the change is asynchronously applied as soon as possible. Default: Uses existing setting Constraints:
      • Must be a value from 0 to 8
      • Cannot be set to 0 if the DB Instance is a master instance with read replicas or if the DB Instance is a read replica
    • *
    • PreferredBackupWindow - string - Optional - The daily time range during which automated backups are created if automated backups are enabled, as determined by the BackupRetentionPeriod. Changing this parameter does not result in an outage and the change is asynchronously applied as soon as possible. Constraints:
      • Must be in the format hh24:mi-hh24:mi
      • Times should be Universal Time Coordinated (UTC)
      • Must not conflict with the preferred maintenance window
      • Must be at least 30 minutes
    • *
    • PreferredMaintenanceWindow - string - Optional - The weekly time range (in UTC) during which system maintenance can occur, which may result in an outage. Changing this parameter does not result in an outage, except in the following situation, and the change is asynchronously applied as soon as possible. If there are pending actions that cause a reboot, and the maintenance window is changed to include the current time, then changing this parameter will cause a reboot of the DB Instance. If moving this window to the current time, there must be at least 30 minutes between the current time and end of the window to ensure pending changes are applied. Default: Uses existing setting Format: ddd:hh24:mi-ddd:hh24:mi Valid Days: Mon | Tue | Wed | Thu | Fri | Sat | Sun Constraints: Must be at least 30 minutes
    • *
    • MultiAZ - boolean - Optional - Specifies if the DB Instance is a Multi-AZ deployment. Changing this parameter does not result in an outage and the change is applied during the next maintenance window unless the ApplyImmediately parameter is set to true for this request. Constraints: Cannot be specified if the DB Instance is a read replica.
    • *
    • EngineVersion - string - Optional - The version number of the database engine to upgrade to. Changing this parameter results in an outage and the change is applied during the next maintenance window unless the ApplyImmediately parameter is set to true for this request. For major version upgrades, if a nondefault DB Parameter Group is currently in use, a new DB Parameter Group in the DB Parameter Group Family for the new engine version must be specified. The new DB Parameter Group can be the default for that DB Parameter Group Family. Example: 5.1.42
    • *
    • AllowMajorVersionUpgrade - boolean - Optional - Indicates that major version upgrades are allowed. Changing this parameter does not result in an outage and the change is asynchronously applied as soon as possible. Constraints: This parameter must be set to true when specifying a value for the EngineVersion parameter that is a different major version than the DB Instance's current version.
    • *
    • AutoMinorVersionUpgrade - boolean - Optional - Indicates that minor version upgrades will be applied automatically to the DB Instance during the maintenance window. Changing this parameter does not result in an outage except in the following case and the change is asynchronously applied as soon as possible. An outage will result if this parameter is set to true during the maintenance window, and a newer minor version is available, and RDS has enabled auto patching for that engine version.
    • *
    • Iops - integer - Optional - The new Provisioned IOPS (I/O operations per second) value for the RDS instance. Changing this parameter does not result in an outage and the change is applied during the next maintenance window unless the ApplyImmediately parameter is set to true for this request. Default: Uses existing setting Constraints: Value supplied must be at least 10% greater than the current value. Values that are not at least 10% greater than the existing value are rounded up so that they are 10% greater than the current value. Type: Integer
    • *
    • OptionGroupName - string - Optional - Indicates that the DB Instance should be associated with the specified option group. Changing this parameter does not result in an outage except in the following case and the change is applied during the next maintenance window unless the ApplyImmediately parameter is set to true for this request. If the parameter change results in an option group that enables OEM, this change can cause a brief (sub-second) period during which new connections are rejected but existing connections are not interrupted.
    • *
    • NewDBInstanceIdentifier - string - Optional - The new DB Instance identifier for the DB Instance when renaming a DB Instance. This value is stored as a lowercase string. Constraints:
      • Must contain from 1 to 63 alphanumeric characters or hyphens
      • First character must be a letter
      • Cannot end with a hyphen or contain two consecutive hyphens
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Modifies the parameters of a DBParameterGroup. To modify more than one parameter submit a list
    	 * of the following: ParameterName, ParameterValue, and ApplyMethod. A maximum of 20 parameters
    	 * can be modified in a single request.
    	 * 
    	 * 

    * The apply-immediate method can be used only for dynamic parameters; the * pending-reboot method can be used with MySQL and Oracle DB Instances for either * dynamic or static parameters. For Microsoft SQL Server DB Instances, the * pending-reboot method can be used only for static parameters. * * @param string $db_parameter_group_name (Required) The name of the DB Parameter Group. Constraints:
    • Must be the name of an existing DB Parameter Group
    • Must be 1 to 255 alphanumeric characters
    • First character must be a letter
    • Cannot end with a hyphen or contain two consecutive hyphens
    * @param array $parameters (Required) An array of parameter names, values, and the apply method for the parameter update. At least one parameter name, value, and apply method must be supplied; subsequent arguments are optional. A maximum of 20 parameters may be modified in a single request. Valid Values (for the application method): immediate | pending-reboot

    You can use the immediate value with dynamic parameters only. You can use the pending-reboot value for both dynamic and static parameters, and changes are applied when DB Instance reboots.

      *
    • x - array - Optional - This represents a simple array index.
        *
      • ParameterName - string - Optional - Specifies the name of the parameter.
      • *
      • ParameterValue - string - Optional - Specifies the value of the parameter.
      • *
      • Description - string - Optional - Provides a description of the parameter.
      • *
      • Source - string - Optional - Indicates the source of the parameter value.
      • *
      • ApplyType - string - Optional - Specifies the engine specific parameters type.
      • *
      • DataType - string - Optional - Specifies the valid data type for the parameter.
      • *
      • AllowedValues - string - Optional - Specifies the valid range of values for the parameter.
      • *
      • IsModifiable - boolean - Optional - Indicates whether (true) or not (false) the parameter can be modified. Some parameters have security or operational implications that prevent them from being changed.
      • *
      • MinimumEngineVersion - string - Optional - The earliest engine version to which the parameter can apply.
      • *
      • ApplyMethod - string - Optional - Indicates when to apply parameter updates. [Allowed values: immediate, pending-reboot]
      • *
    • *
    * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Modifies an existing DB subnet group. DB subnet groups must contain at least one subnet in at
    	 * least two AZs in the region.
    	 *
    	 * @param string $db_subnet_group_name (Required) The name for the DB Subnet Group. This value is stored as a lowercase string. Constraints: Must contain no more than 255 alphanumeric characters or hyphens. Must not be "Default". Example: mySubnetgroup
    	 * @param string|array $subnet_ids (Required) The EC2 Subnet IDs for the DB Subnet Group. Pass a string for a single value, or an indexed array for multiple values.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • DBSubnetGroupDescription - string - Optional - The description for the DB Subnet Group.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * 
    	 *
    	 * @param string $subscription_name (Required) 
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • SnsTopicArn - string - Optional -
    • *
    • SourceType - string - Optional -
    • *
    • EventCategories - string|array - Optional - Pass a string for a single value, or an indexed array for multiple values.
    • *
    • Enabled - boolean - Optional -
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Modifies an existing Option Group.
    	 *
    	 * @param string $option_group_name (Required) The name of the option group to be modified.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • OptionsToInclude - array - Optional - Options in this list are added to the Option Group or, if already present, the specified configuration is used to update the existing configuration.
        *
      • x - array - Optional - This represents a simple array index.
          *
        • OptionName - string - Required - The configuration of options to include in a group.
        • *
        • Port - integer - Optional - The optional port for the option.
        • *
        • DBSecurityGroupMemberships - string|array - Optional - A list of DBSecurityGroupMemebrship name strings used for this option. Pass a string for a single value, or an indexed array for multiple values.
        • *
        • VpcSecurityGroupMemberships - string|array - Optional - A list of VpcSecurityGroupMemebrship name strings used for this option. Pass a string for a single value, or an indexed array for multiple values.
        • *
        • OptionSettings - array - Optional - A list of option settings applied for this option.
            *
          • x - array - Optional - This represents a simple array index.
              *
            • Name - string - Optional - The name of the setting.
            • *
            • Value - string - Optional - The value of this setting.
            • *
            • DefaultValue - string - Optional - Default value for this setting.
            • *
            • Description - string - Optional - The description of the setting.
            • *
            • ApplyType - string - Optional - Specifies the apply type for this setting.
            • *
            • DataType - string - Optional - Specifies the valid data type of this setting
            • *
            • AllowedValues - string - Optional - Specifies a valid list/range of values allowed for this setting.
            • *
            • IsModifiable - boolean - Optional - Indicates if the setting is modifiable or not.
            • *
            • IsCollection - boolean - Optional - Indicates if the value for the setting can be a list of values or a single value.
            • *
          • *
        • *
      • *
    • *
    • OptionsToRemove - string|array - Optional - Options in this list are removed from the Option Group. Pass a string for a single value, or an indexed array for multiple values.
    • *
    • ApplyImmediately - boolean - Optional - Indicates whether the changes should be applied immediately, or during the next maintenance window for each instance associated with the Option Group.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Promotes a Read Replica DB Instance to a standalone DB Instance.
    	 *
    	 * @param string $db_instance_identifier (Required) The DB Instance identifier. This value is stored as a lowercase string. Constraints:
    • Must be the identifier for an existing Read Replica DB Instance
    • Must contain from 1 to 63 alphanumeric characters or hyphens
    • First character must be a letter
    • Cannot end with a hyphen or contain two consecutive hyphens
    Example:mydbinstance * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • BackupRetentionPeriod - integer - Optional - The number of days to retain automated backups. Setting this parameter to a positive number enables backups. Setting this parameter to 0 disables automated backups. Default: 1 Constraints:
      • Must be a value from 0 to 8
    • *
    • PreferredBackupWindow - string - Optional - The daily time range during which automated backups are created if automated backups are enabled, using the BackupRetentionPeriod parameter. Default: A 30-minute window selected at random from an 8-hour block of time per region. The following list shows the time blocks for each region from which the default backup windows are assigned.
      • US-East (Northern Virginia) Region: 03:00-11:00 UTC
      • US-West (Northern California) Region: 06:00-14:00 UTC
      • EU (Ireland) Region: 22:00-06:00 UTC
      • Asia Pacific (Singapore) Region: 14:00-22:00 UTC
      • Asia Pacific (Tokyo) Region: 17:00-03:00 UTC
      Constraints: Must be in the format hh24:mi-hh24:mi. Times should be Universal Time Coordinated (UTC). Must not conflict with the preferred maintenance window. Must be at least 30 minutes.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Purchases a reserved DB Instance offering.
    	 *
    	 * @param string $reserved_db_instances_offering_id (Required) The ID of the Reserved DB Instance offering to purchase. Example: 438012d3-4052-4cc7-b2e3-8d3372e0e706
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • ReservedDBInstanceId - string - Optional - Customer-specified identifier to track this reservation. Example: myreservationID
    • *
    • DBInstanceCount - integer - Optional - The number of instances to reserve. Default: 1
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Reboots a previously provisioned RDS instance. This API results in the application of modified
    	 * DBParameterGroup parameters with ApplyStatus of pending-reboot to the RDS instance. This action
    	 * is taken as soon as possible, and results in a momentary outage to the RDS instance during
    	 * which the RDS instance status is set to rebooting. If the RDS instance is configured for
    	 * MultiAZ, it is possible that the reboot will be conducted through a failover. A DBInstance
    	 * event is created when the reboot is completed.
    	 *
    	 * @param string $db_instance_identifier (Required) The DB Instance identifier. This parameter is stored as a lowercase string. Constraints:
    • Must contain from 1 to 63 alphanumeric characters or hyphens
    • First character must be a letter
    • Cannot end with a hyphen or contain two consecutive hyphens
    * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • ForceFailover - boolean - Optional - When true, the reboot will be conducted through a MultiAZ failover. Constraint: You cannot specify true if the instance is not configured for MultiAZ.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * 
    	 *
    	 * @param string $subscription_name (Required) 
    	 * @param string $source_identifier (Required) 
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Removes metadata tags from a DB Instance.
    	 *  
    	 * For an overview on tagging DB Instances, see DB
    	 * Instance Tags.
    	 *
    	 * @param string $resource_name (Required) The DB Instance the tags will be removed from.
    	 * @param string|array $tag_keys (Required) The tag key (name) of the tag to be removed. Pass a string for a single value, or an indexed array for multiple values.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Modifies the parameters of a DBParameterGroup to the engine/system default value. To reset
    	 * specific parameters submit a list of the following: ParameterName and ApplyMethod. To reset the
    	 * entire DBParameterGroup specify the DBParameterGroup name and ResetAllParameters parameters.
    	 * When resetting the entire group, dynamic parameters are updated immediately and static
    	 * parameters are set to pending-reboot to take effect on the next DB instance restart or
    	 * RebootDBInstance request.
    	 *
    	 * @param string $db_parameter_group_name (Required) The name of the DB Parameter Group. Constraints:
    • Must be 1 to 255 alphanumeric characters
    • First character must be a letter
    • Cannot end with a hyphen or contain two consecutive hyphens
    * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • ResetAllParameters - boolean - Optional - Specifies whether (true) or not (false) to reset all parameters in the DB Parameter Group to default values. Default: true
    • *
    • Parameters - array - Optional - An array of parameter names, values, and the apply method for the parameter update. At least one parameter name, value, and apply method must be supplied; subsequent arguments are optional. A maximum of 20 parameters may be modified in a single request. MySQL Valid Values (for Apply method): immediate | pending-reboot You can use the immediate value with dynamic parameters only. You can use the pending-reboot value for both dynamic and static parameters, and changes are applied when DB Instance reboots. Oracle Valid Values (for Apply method): pending-reboot
        *
      • x - array - Optional - This represents a simple array index.
          *
        • ParameterName - string - Optional - Specifies the name of the parameter.
        • *
        • ParameterValue - string - Optional - Specifies the value of the parameter.
        • *
        • Description - string - Optional - Provides a description of the parameter.
        • *
        • Source - string - Optional - Indicates the source of the parameter value.
        • *
        • ApplyType - string - Optional - Specifies the engine specific parameters type.
        • *
        • DataType - string - Optional - Specifies the valid data type for the parameter.
        • *
        • AllowedValues - string - Optional - Specifies the valid range of values for the parameter.
        • *
        • IsModifiable - boolean - Optional - Indicates whether (true) or not (false) the parameter can be modified. Some parameters have security or operational implications that prevent them from being changed.
        • *
        • MinimumEngineVersion - string - Optional - The earliest engine version to which the parameter can apply.
        • *
        • ApplyMethod - string - Optional - Indicates when to apply parameter updates. [Allowed values: immediate, pending-reboot]
        • *
      • *
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Creates a new DB Instance from a DB snapshot. The target database is created from the source
    	 * database restore point with the same configuration as the original source database, except that
    	 * the new RDS instance is created with the default security group.
    	 *
    	 * @param string $db_instance_identifier (Required) The identifier for the DB Snapshot to restore from. Constraints:
    • Must contain from 1 to 63 alphanumeric characters or hyphens
    • First character must be a letter
    • Cannot end with a hyphen or contain two consecutive hyphens
    * @param string $db_snapshot_identifier (Required) Name of the DB Instance to create from the DB Snapshot. This parameter isn't case sensitive. Constraints:
    • Must contain from 1 to 255 alphanumeric characters or hyphens
    • First character must be a letter
    • Cannot end with a hyphen or contain two consecutive hyphens
    Example: my-snapshot-id * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • DBInstanceClass - string - Optional - The compute and memory capacity of the Amazon RDS DB instance. Valid Values: db.t1.micro | db.m1.small | db.m1.medium | db.m1.large | db.m1.xlarge | db.m2.2xlarge | db.m2.4xlarge
    • *
    • Port - integer - Optional - The port number on which the database accepts connections. Default: The same port as the original DB Instance Constraints: Value must be 1150-65535
    • *
    • AvailabilityZone - string - Optional - The EC2 Availability Zone that the database instance will be created in. Default: A random, system-chosen Availability Zone. Constraint: You cannot specify the AvailabilityZone parameter if the MultiAZ parameter is set to true. Example: us-east-1a
    • *
    • DBSubnetGroupName - string - Optional - The DB Subnet Group name to use for the new instance.
    • *
    • MultiAZ - boolean - Optional - Specifies if the DB Instance is a Multi-AZ deployment. Constraint: You cannot specify the AvailabilityZone parameter if the MultiAZ parameter is set to true.
    • *
    • PubliclyAccessible - boolean - Optional -
    • *
    • AutoMinorVersionUpgrade - boolean - Optional - Indicates that minor version upgrades will be applied automatically to the DB Instance during the maintenance window.
    • *
    • LicenseModel - string - Optional - License model information for the restored DB Instance. Default: Same as source. Valid values: license-included | bring-your-own-license | general-public-license
    • *
    • DBName - string - Optional - The database name for the restored DB Instance.

      This parameter doesn't apply to the MySQL engine.

    • *
    • Engine - string - Optional - The database engine to use for the new instance. Default: The same as source Constraint: Must be compatible with the engine of the source Example: oracle-ee
    • *
    • Iops - integer - Optional - The amount of Provisioned IOPS (input/output operations per second) to be initially allocated for the DB Instance. Constraints: Must be an integer greater than 1000.
    • *
    • OptionGroupName - string - Optional -
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Restores a DB Instance to an arbitrary point-in-time. Users can restore to any point in time
    	 * before the latestRestorableTime for up to backupRetentionPeriod days. The target database is
    	 * created from the source database with the same configuration as the original database except
    	 * that the DB instance is created with the default DB security group.
    	 *
    	 * @param string $source_db_instance_identifier (Required) The identifier of the source DB Instance from which to restore. Constraints:
    • Must be the identifier of an existing database instance
    • Must contain from 1 to 63 alphanumeric characters or hyphens
    • First character must be a letter
    • Cannot end with a hyphen or contain two consecutive hyphens
    * @param string $target_db_instance_identifier (Required) The name of the new database instance to be created. Constraints:
    • Must contain from 1 to 63 alphanumeric characters or hyphens
    • First character must be a letter
    • Cannot end with a hyphen or contain two consecutive hyphens
    * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • RestoreTime - string - Optional - The date and time to restore from. Valid Values: Value must be a UTC time Constraints:
      • Must be before the latest restorable time for the DB Instance
      • Cannot be specified if UseLatestRestorableTime parameter is true
      Example: 2009-09-07T23:45:00Z May be passed as a number of seconds since UNIX Epoch, or any string compatible with .
    • *
    • UseLatestRestorableTime - boolean - Optional - Specifies whether (true) or not (false) the DB Instance is restored from the latest backup time. Default: false Constraints: Cannot be specified if RestoreTime parameter is provided.
    • *
    • DBInstanceClass - string - Optional - The compute and memory capacity of the Amazon RDS DB instance. Valid Values: db.t1.micro | db.m1.small | db.m1.medium | db.m1.large | db.m1.xlarge | db.m2.2xlarge | db.m2.4xlarge Default: The same DBInstanceClass as the original DB Instance.
    • *
    • Port - integer - Optional - The port number on which the database accepts connections. Constraints: Value must be 1150-65535 Default: The same port as the original DB Instance.
    • *
    • AvailabilityZone - string - Optional - The EC2 Availability Zone that the database instance will be created in. Default: A random, system-chosen Availability Zone. Constraint: You cannot specify the AvailabilityZone parameter if the MultiAZ parameter is set to true. Example: us-east-1a
    • *
    • DBSubnetGroupName - string - Optional - The DB subnet group name to use for the new instance.
    • *
    • MultiAZ - boolean - Optional - Specifies if the DB Instance is a Multi-AZ deployment. Constraint: You cannot specify the AvailabilityZone parameter if the MultiAZ parameter is set to true.
    • *
    • PubliclyAccessible - boolean - Optional -
    • *
    • AutoMinorVersionUpgrade - boolean - Optional - Indicates that minor version upgrades will be applied automatically to the DB Instance during the maintenance window.
    • *
    • LicenseModel - string - Optional - License model information for the restored DB Instance. Default: Same as source. Valid values: license-included | bring-your-own-license | general-public-license
    • *
    • DBName - string - Optional - The database name for the restored DB Instance.

      This parameter is not used for the MySQL engine.

    • *
    • Engine - string - Optional - The database engine to use for the new instance. Default: The same as source Constraint: Must be compatible with the engine of the source Example: oracle-ee
    • *
    • Iops - integer - Optional - The amount of Provisioned IOPS (input/output operations per second) to be initially allocated for the DB Instance. Constraints: Must be an integer greater than 1000.
    • *
    • OptionGroupName - string - Optional -
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Revokes ingress from a DBSecurityGroup for previously authorized IP ranges or EC2 or VPC
    	 * Security Groups. Required parameters for this API are one of CIDRIP, EC2SecurityGroupId for
    	 * VPC, or (EC2SecurityGroupOwnerId and either EC2SecurityGroupName or EC2SecurityGroupId).
    	 *
    	 * @param string $db_security_group_name (Required) The name of the DB Security Group to revoke ingress from.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • CIDRIP - string - Optional - The IP range to revoke access from. Must be a valid CIDR range. If CIDRIP is specified, EC2SecurityGroupName, EC2SecurityGroupId and EC2SecurityGroupOwnerId cannot be provided.
    • *
    • EC2SecurityGroupName - string - Optional - The name of the EC2 Security Group to revoke access from. For VPC DB Security Groups, EC2SecurityGroupId must be provided. Otherwise, EC2SecurityGroupOwnerId and either EC2SecurityGroupName or EC2SecurityGroupId must be provided.
    • *
    • EC2SecurityGroupId - string - Optional - The id of the EC2 Security Group to revoke access from. For VPC DB Security Groups, EC2SecurityGroupId must be provided. Otherwise, EC2SecurityGroupOwnerId and either EC2SecurityGroupName or EC2SecurityGroupId must be provided.
    • *
    • EC2SecurityGroupOwnerId - string - Optional - The AWS Account Number of the owner of the EC2 security group specified in the EC2SecurityGroupName parameter. The AWS Access Key ID is not an acceptable value. For VPC DB Security Groups, EC2SecurityGroupId must be provided. Otherwise, EC2SecurityGroupOwnerId and either EC2SecurityGroupName or EC2SecurityGroupId must be provided.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    /*%******************************************************************************************%*/
    

    Class: RDS_Exception extends Exception {


    File: /destinations/_s3lib/aws-sdk/services/s3.class.php

    /*
     * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
     *
     * Licensed under the Apache License, Version 2.0 (the "License").
     * You may not use this file except in compliance with the License.
     * A copy of the License is located at
     *
     *  http://aws.amazon.com/apache2.0
     *
     * or in the "license" file accompanying this file. This file is distributed
     * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
     * express or implied. See the License for the specific language governing
     * permissions and limitations under the License.
     */
    
    /*%******************************************************************************************%*/
    
    /**
     * Default S3 Exception.
     */
    

    Class: S3_Exception extends Exception {

    /*%******************************************************************************************%*/
    
    /**
     * Amazon S3 is a web service that enables you to store data in the cloud. You can then download the data
     * or use the data with other AWS services, such as Amazon Elastic Cloud Computer (EC2).
     *
     * Amazon Simple Storage Service (Amazon S3) is storage for the Internet. You can use Amazon S3 to store
     * and retrieve any amount of data at any time, from anywhere on the web. You can accomplish these tasks
     * using the AWS Management Console, which is a simple and intuitive web interface.
     *
     * To get the most out of Amazon S3, you need to understand a few simple concepts. Amazon S3 stores data
     * as objects in buckets. An object is comprised of a file and optionally any metadata that describes
     * that file.
     *
     * To store an object in Amazon S3, you upload the file you want to store to a bucket. When you upload a
     * file, you can set permissions on the object as well as any metadata.
     *
     * Buckets are the containers for objects. You can have one or more buckets. For each bucket, you can control
     * access to the bucket (who can create, delete, and list objects in the bucket), view access logs for the
     * bucket and its objects, and choose the geographical region where Amazon S3 will store the bucket and its
     * contents.
     *
     * Visit  for more information.
     *
     * @version 2012.10.02
     * @license See the included NOTICE.md file for more information.
     * @copyright See the included NOTICE.md file for more information.
     * @link http://aws.amazon.com/s3/ Amazon Simple Storage Service
     * @link http://aws.amazon.com/documentation/s3/ Amazon Simple Storage Service documentation
     */
    
    	/*%******************************************************************************************%*/
    
    	/**
    	 * Specify the queue URL for the US-Standard (Northern Virginia & Washington State) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the US-Standard (Northern Virginia & Washington State) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the US-Standard (Northern Virginia & Washington State) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the US-West 1 (Northern California) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the US-West 1 (Northern California) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the US-West 2 (Oregon) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the US-West 2 (Oregon) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the EU (Ireland) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the EU (Ireland) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the Asia Pacific (Singapore) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the Asia Pacific (Singapore) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the Asia Pacific (Sydney) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the Asia Pacific (Sydney) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the Asia Pacific (Japan) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the Asia Pacific (Japan) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the South America (Sao Paulo) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the South America (Sao Paulo) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the United States GovCloud Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the United States GovCloud FIPS 140-2 Region.
    	 */
    
    	/**
    	 * The default endpoint.
    	 */
    
    	/*%******************************************************************************************%*/
    
    	/**
    	 * Specify the queue URL for the US-Standard (Northern Virginia & Washington State) Website Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the US-Standard (Northern Virginia & Washington State) Website Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the US-Standard (Northern Virginia & Washington State) Website Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the US-West 1 (Northern California) Website Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the US-West 1 (Northern California) Website Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the US-West 2 (Oregon) Website Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the US-West 2 (Oregon) Website Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the EU (Ireland) Website Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the EU (Ireland) Website Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the Asia Pacific (Singapore) Website Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the Asia Pacific (Singapore) Website Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the Asia Pacific (Sydney) Website Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the Asia Pacific (Sydney) Website Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the Asia Pacific (Japan) Website Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the Asia Pacific (Japan) Website Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the South America (Sao Paulo) Website Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the South America (Sao Paulo) Website Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the United States GovCloud Website Region.
    	 */
    
    	/*%******************************************************************************************%*/
    
    	/**
    	 * ACL: Owner-only read/write.
    	 */
    
    	/**
    	 * ACL: Owner read/write, public read.
    	 */
    
    	/**
    	 * ACL: Public read/write.
    	 */
    
    	/**
    	 * ACL: Owner read/write, authenticated read.
    	 */
    
    	/**
    	 * ACL: Bucket owner read.
    	 */
    
    	/**
    	 * ACL: Bucket owner full control.
    	 */
    
    	/*%******************************************************************************************%*/
    
    	/**
    	 * When applied to a bucket, grants permission to list the bucket. When applied to an object, this
    	 * grants permission to read the object data and/or metadata.
    	 */
    
    	/**
    	 * When applied to a bucket, grants permission to create, overwrite, and delete any object in the
    	 * bucket. This permission is not supported for objects.
    	 */
    
    	/**
    	 * Grants permission to read the ACL for the applicable bucket or object. The owner of a bucket or
    	 * object always has this permission implicitly.
    	 */
    
    	/**
    	 * Gives permission to overwrite the ACP for the applicable bucket or object. The owner of a bucket
    	 * or object always has this permission implicitly. Granting this permission is equivalent to granting
    	 * FULL_CONTROL because the grant recipient can make any changes to the ACP.
    	 */
    
    	/**
    	 * Provides READ, WRITE, READ_ACP, and WRITE_ACP permissions. It does not convey additional rights and
    	 * is provided only for convenience.
    	 */
    
    	/*%******************************************************************************************%*/
    
    	/**
    	 * The "AuthenticatedUsers" group for access control policies.
    	 */
    
    	/**
    	 * The "AllUsers" group for access control policies.
    	 */
    
    	/**
    	 * The "LogDelivery" group for access control policies.
    	 */
    
    	/*%******************************************************************************************%*/
    
    	/**
    	 * PCRE: Match all items
    	 */
    
    	/**
    	 * PCRE: Match all items
    	 */
    
    	/*%******************************************************************************************%*/
    
    	/**
    	 * Standard storage redundancy.
    	 */
    
    	/**
    	 * Reduced storage redundancy.
    	 */
    
    	/**
    	 * Storage in Glacier.
    	 */
    
    	/*%******************************************************************************************%*/
    
    	/**
    	 * The request URL.
    	 */
    
    	/**
    	 * The virtual host setting.
    	 */
    
    	/**
    	 * The base XML elements to use for access control policy methods.
    	 */
    
    	/**
    	 * The base XML elements to use for creating buckets in regions.
    	 */
    
    	/**
    	 * The base XML elements to use for logging methods.
    	 */
    
    	/**
    	 * The base XML elements to use for notifications.
    	 */
    
    	/**
    	 * The base XML elements to use for versioning.
    	 */
    
    	/**
    	 * The base XML elements to use for completing a multipart upload.
    	 */
    
    	/**
    	 * The base XML elements to use for website support.
    	 */
    
    	/**
    	 * The base XML elements to use for multi-object delete support.
    	 */
    
    	/**
    	 * The base XML elements to use for object expiration support.
    	 */
    
    	/**
    	 * The base XML elements to use for bucket tagging.
    	 */
    
    	/**
    	 * The base XML elements to use for CORS support.
    	 */
    
    	/**
    	 * The base XML elements to use for restoration requests.
    	 */
    
    	/**
    	 * The DNS vs. Path-style setting.
    	 */
    
    	/**
    	 * The state of whether the prefix change is temporary or permanent.
    	 */
    
    	/*%******************************************************************************************%*/
    
    	/**
    	 * Constructs a new instance of .
    	 *
    	 * @param array $options (Optional) An associative array of parameters that can have the following keys: 
      *
    • certificate_authority - boolean - Optional - Determines which Cerificate Authority file to use. A value of boolean false will use the Certificate Authority file available on the system. A value of boolean true will use the Certificate Authority provided by the SDK. Passing a file system path to a Certificate Authority file (chmodded to 0755) will use that. Leave this set to false if you're not sure.
    • *
    • credentials - string - Optional - The name of the credential set to use for authentication.
    • *
    • default_cache_config - string - Optional - This option allows a preferred storage type to be configured for long-term caching. This can be changed later using the method. Valid values are: apc, xcache, or a file system path such as ./cache or /tmp/cache/.
    • *
    • key - string - Optional - Your AWS key, or a session key. If blank, the default credential set will be used.
    • *
    • secret - string - Optional - Your AWS secret key, or a session secret key. If blank, the default credential set will be used.
    • *
    • token - string - Optional - An AWS session token.
    * @return void */
    	/*%******************************************************************************************%*/
    
    	/**
    	 * Authenticates a connection to Amazon S3. Do not use directly unless implementing custom methods for
    	 * this class.
    	 *
    	 * @param string $operation (Required) The name of the bucket to operate on (S3 Only).
    	 * @param array $payload (Required) An associative array of parameters for authenticating. See inline comments for allowed keys.
    	 * @return CFResponse A  object containing a parsed HTTP response.
    	 * @link http://docs.amazonwebservices.com/AmazonS3/latest/dev/S3_Authentication.html REST authentication
    	 */
    
    		/*
    		 * Overriding or extending this class? You can pass the following "magic" keys into $opt.
    		 *
    		 * ## verb, resource, sub_resource and query_string ##
    		 * 	 /?&
    		 * 	GET /filename.txt?versions&prefix=abc&max-items=1
    		 *
    		 * ## versionId, uploadId, partNumber, response-* ##
    		 * 	These don't follow the same rules as above, in that the they needs to be signed, while
    		 * 	other query_string values do not.
    		 *
    		 * ## curlopts ##
    		 * 	These values get passed directly to the cURL methods in RequestCore.
    		 *
    		 * ## fileUpload, fileDownload, seekTo ##
    		 * 	These are slightly modified and then passed to the cURL methods in RequestCore.
    		 *
    		 * ## headers ##
    		 * 	$opt['headers'] is an array, whose keys are HTTP headers to be sent.
    		 *
    		 * ## body ##
    		 * 	This is the request body that is sent to the server via PUT/POST.
    		 *
    		 * ## preauth ##
    		 * 	This is a hook that tells authenticate() to generate a pre-authenticated URL.
    		 *
    		 * ## returnCurlHandle ##
    		 * 	Tells authenticate() to return the cURL handle for the request instead of executing it.
    		 */
    
    		/*%******************************************************************************************%*/
    
    		/*%******************************************************************************************%*/
    
    	/**
    	 * Validates whether or not the specified Amazon S3 bucket name is valid for DNS-style access. This
    	 * method is leveraged by any method that creates buckets.
    	 *
    	 * @param string $bucket (Required) The name of the bucket to validate.
    	 * @return boolean Whether or not the specified Amazon S3 bucket name is valid for DNS-style access. A value of true means that the bucket name is valid. A value of false means that the bucket name is invalid.
    	 */
    
    	/**
    	 * Validates whether or not the specified Amazon S3 bucket name is valid for path-style access. This
    	 * method is leveraged by any method that reads from buckets.
    	 *
    	 * @param string $bucket (Required) The name of the bucket to validate.
    	 * @return boolean Whether or not the bucket name is valid. A value of true means that the bucket name is valid. A value of false means that the bucket name is invalid.
    	 */
    
    	/*%******************************************************************************************%*/
    
    	/**
    	 * Sets the region to use for subsequent Amazon S3 operations. This will also reset any prior use of
    	 * .
    	 *
    	 * @param string $region (Required) The region to use for subsequent Amazon S3 operations. For a complete list of REGION constants, see the AmazonS3 Constants page in the API reference.
    	 * @return $this A reference to the current instance.
    	 */
    
    	/**
    	 * Sets the virtual host to use in place of the default `bucket.s3.amazonaws.com` domain.
    	 *
    	 * @param string $vhost (Required) The virtual host to use in place of the default `bucket.s3.amazonaws.com` domain.
    	 * @return $this A reference to the current instance.
    	 * @link http://docs.amazonwebservices.com/AmazonS3/latest/dev/VirtualHosting.html Virtual Hosting of Buckets
    	 */
    
    	/**
    	 * Enables the use of the older path-style URI access for all requests.
    	 *
    	 * @param string $style (Optional) Whether or not to enable path-style URI access for all requests. The default value is true.
    	 * @return $this A reference to the current instance.
    	 */
    
    	/*%******************************************************************************************%*/
    
    	/**
    	 * Creates an Amazon S3 bucket.
    	 *
    	 * Every object stored in Amazon S3 is contained in a bucket. Buckets partition the namespace of
    	 * objects stored in Amazon S3 at the top level. in a bucket, any name can be used for objects.
    	 * However, bucket names must be unique across all of Amazon S3.
    	 *
    	 * @param string $bucket (Required) The name of the bucket to create.
    	 * @param string $region (Required) The preferred geographical location for the bucket. [Allowed values: `AmazonS3::REGION_US_E1 `, `AmazonS3::REGION_US_W1`, `AmazonS3::REGION_EU_W1`, `AmazonS3::REGION_APAC_SE1`, `AmazonS3::REGION_APAC_NE1`]
    	 * @param string $acl (Optional) The ACL settings for the specified object. Accepts any of the following constants: [Allowed values: AmazonS3::ACL_PRIVATE, AmazonS3::ACL_PUBLIC, AmazonS3::ACL_OPEN, AmazonS3::ACL_AUTH_READ, AmazonS3::ACL_OWNER_READ, AmazonS3::ACL_OWNER_FULL_CONTROL]. Alternatively, an array of associative arrays. Each associative array contains an id and a permission key. The default value is ACL_PRIVATE.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request.
    * @return CFResponse A object containing a parsed HTTP response. * @link http://docs.amazonwebservices.com/AmazonS3/latest/dev/UsingBucket.html Working with Amazon S3 Buckets */
    	/**
    	 * Gets the region in which the specified Amazon S3 bucket is located.
    	 *
    	 * @param string $bucket (Required) The name of the bucket to use.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • preauth - integer|string - Optional - Specifies that a presigned URL for this request should be returned. May be passed as a number of seconds since UNIX Epoch, or any string compatible with .
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Gets the HTTP headers for the specified Amazon S3 bucket.
    	 *
    	 * @param string $bucket (Required) The name of the bucket to use.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • preauth - integer|string - Optional - Specifies that a presigned URL for this request should be returned. May be passed as a number of seconds since UNIX Epoch, or any string compatible with .
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Deletes a bucket from an Amazon S3 account. A bucket must be empty before the bucket itself can be deleted.
    	 *
    	 * @param string $bucket (Required) The name of the bucket to use.
    	 * @param boolean $force (Optional) Whether to force-delete the bucket and all of its contents. The default value is false.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return mixed A object if the bucket was deleted successfully. Returns boolean false if otherwise. */
    	/**
    	 * Gets a list of all buckets contained in the caller's Amazon S3 account.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • preauth - integer|string - Optional - Specifies that a presigned URL for this request should be returned. May be passed as a number of seconds since UNIX Epoch, or any string compatible with .
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Gets the access control list (ACL) settings for the specified Amazon S3 bucket.
    	 *
    	 * @param string $bucket (Required) The name of the bucket to use.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • preauth - integer|string - Optional - Specifies that a presigned URL for this request should be returned. May be passed as a number of seconds since UNIX Epoch, or any string compatible with .
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. * @link http://docs.amazonwebservices.com/AmazonS3/latest/dev/RESTAccessPolicy.html REST Access Control Policy */
    	/**
    	 * Sets the access control list (ACL) settings for the specified Amazon S3 bucket.
    	 *
    	 * @param string $bucket (Required) The name of the bucket to use.
    	 * @param string $acl (Optional) The ACL settings for the specified bucket. [Allowed values: AmazonS3::ACL_PRIVATE, AmazonS3::ACL_PUBLIC, AmazonS3::ACL_OPEN, AmazonS3::ACL_AUTH_READ, AmazonS3::ACL_OWNER_READ, AmazonS3::ACL_OWNER_FULL_CONTROL]. Alternatively, an array of associative arrays. Each associative array contains an `id` and a `permission` key. The default value is .
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. * @link http://docs.amazonwebservices.com/AmazonS3/latest/dev/RESTAccessPolicy.html REST Access Control Policy */
    	/*%******************************************************************************************%*/
    
    	/**
    	 * Creates an Amazon S3 object. After an Amazon S3 bucket is created, objects can be stored in it.
    	 *
    	 * Each standard object can hold up to 5 GB of data. When an object is stored in Amazon S3, the data is streamed
    	 * to multiple storage servers in multiple data centers. This ensures the data remains available in the
    	 * event of internal network or hardware failure.
    	 *
    	 * @param string $bucket (Required) The name of the bucket to use.
    	 * @param string $filename (Required) The file name for the object.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • acl - string - Optional - The ACL settings for the specified object. Accepts any of the following constants: [Allowed values: AmazonS3::ACL_PRIVATE, AmazonS3::ACL_PUBLIC, AmazonS3::ACL_OPEN, AmazonS3::ACL_AUTH_READ, AmazonS3::ACL_OWNER_READ, AmazonS3::ACL_OWNER_FULL_CONTROL]. Alternatively, an array of associative arrays. Each associative array contains an id and a permission key. The default value is ACL_PRIVATE.
    • *
    • body - string - Required; Conditional - The data to be stored in the object. Either this parameter or fileUpload must be specified.
    • *
    • contentType - string - Optional - The type of content that is being sent in the body. If a file is being uploaded via fileUpload as a file system path, it will attempt to determine the correct mime-type based on the file extension. The default value is application/octet-stream.
    • *
    • encryption - string - Optional - The algorithm to use for encrypting the object. [Allowed values: AES256]
    • *
    • fileUpload - string|resource - Required; Conditional - The URL/path for the file to upload, or an open resource. Either this parameter or body is required.
    • *
    • headers - array - Optional - Standard HTTP headers to send along in the request. Accepts an associative array of key-value pairs.
    • *
    • length - integer - Optional - The size of the object in bytes. For more information, see RFC 2616, section 14.13. The value can also be passed to the header option as Content-Length.
    • *
    • meta - array - Optional - An associative array of key-value pairs. Represented by x-amz-meta-:. Any header starting with this prefix is considered user metadata. It will be stored with the object and returned when you retrieve the object. The total size of the HTTP request, not including the body, must be less than 4 KB.
    • *
    • redirectTo - string - Optional - The URI to send an HTTP 301 redirect to when accessing this object. Value must be prefixed either /, http:// or https://.
    • *
    • seekTo - integer - Optional - The starting position in bytes within the file/stream to upload from.
    • *
    • storage - string - Optional - Whether to use Standard or Reduced Redundancy storage. [Allowed values: AmazonS3::STORAGE_STANDARD, AmazonS3::STORAGE_REDUCED]. The default value is STORAGE_STANDARD.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. * @link http://docs.amazonwebservices.com/AmazonS3/latest/dev/RESTAccessPolicy.html REST Access Control Policy */
    	/**
    	 * Gets the contents of an Amazon S3 object in the specified bucket.
    	 *
    	 * The MD5 value for an object can be retrieved from the ETag HTTP header for any object that was uploaded
    	 * with a normal PUT/POST. This value is incorrect for multipart uploads.
    	 *
    	 * @param string $bucket (Required) The name of the bucket to use.
    	 * @param string $filename (Required) The file name for the object.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • etag - string - Optional - The ETag header passed in from a previous request. If specified, request LastModified option must be specified as well. Will trigger a 304 Not Modified status code if the file hasn't changed.
    • *
    • fileDownload - string|resource - Optional - The file system location to download the file to, or an open file resource. Must be a server-writable location.
    • *
    • headers - array - Optional - Standard HTTP headers to send along in the request. Accepts an associative array of key-value pairs.
    • *
    • lastmodified - string - Optional - The LastModified header passed in from a previous request. If specified, request ETag option must be specified as well. Will trigger a 304 Not Modified status code if the file hasn't changed.
    • *
    • preauth - integer|string - Optional - Specifies that a presigned URL for this request should be returned. May be passed as a number of seconds since UNIX Epoch, or any string compatible with .
    • *
    • range - string - Optional - The range of bytes to fetch from the object. Specify this parameter when downloading partial bits or completing incomplete object downloads. The specified range must be notated with a hyphen (e.g., 0-10485759). Defaults to the byte range of the complete Amazon S3 object.
    • *
    • response - array - Optional - Allows adjustments to specific response headers. Pass an associative array where each key is one of the following: cache-control, content-disposition, content-encoding, content-language, content-type, expires. The expires value should use and be formatted with the DATE_RFC2822 constant.
    • *
    • versionId - string - Optional - The version of the object to retrieve. Version IDs are returned in the x-amz-version-id header of any previous object-related request.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Gets the HTTP headers for the specified Amazon S3 object.
    	 *
    	 * The MD5 value for an object can be retrieved from the ETag HTTP header for any object that was uploaded
    	 * with a normal PUT/POST. This value is incorrect for multipart uploads.
    	 *
    	 * @param string $bucket (Required) The name of the bucket to use.
    	 * @param string $filename (Required) The file name for the object.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • versionId - string - Optional - The version of the object to retrieve. Version IDs are returned in the x-amz-version-id header of any previous object-related request.
    • *
    • preauth - integer|string - Optional - Specifies that a presigned URL for this request should be returned. May be passed as a number of seconds since UNIX Epoch, or any string compatible with .
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Deletes an Amazon S3 object from the specified bucket.
    	 *
    	 * @param string $bucket (Required) The name of the bucket to use.
    	 * @param string $filename (Required) The file name for the object.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • versionId - string - Optional - The version of the object to delete. Version IDs are returned in the x-amz-version-id header of any previous object-related request.
    • *
    • MFASerial - string - Optional - The serial number on the back of the Gemalto device. MFASerial and MFAToken must both be set for MFA to work.
    • *
    • MFAToken - string - Optional - The current token displayed on the Gemalto device. MFASerial and MFAToken must both be set for MFA to work.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. * @link http://aws.amazon.com/mfa/ Multi-Factor Authentication */
    	/**
    	 * Deletes one or more specified Amazon S3 objects from the specified bucket.
    	 *
    	 * Since `delete_object()` is designed for deleting a single object, this method is intended to be used
    	 * when there are two or more objects to delete.
    	 *
    	 * @param string $bucket (Required) The name of the bucket to use.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • objects - array - Required - The object references to delete from the bucket.
        *
      • key - string - Required - The name of the object (e.g., the "key") to delete. This should include the entire file path including all "subdirectories".
      • *
      • version_id - string - Optional - If the object is versioned, include the version ID to delete.
      • *
    • *
    • quiet - boolean - Optional - Whether or not Amazon S3 should use "Quiet" mode for this operation. A value of true will enable Quiet mode. A value of false will use Verbose mode. The default value is false.
    • *
    • MFASerial - string - Optional - The serial number on the back of the Gemalto device. MFASerial and MFAToken must both be set for MFA to work.
    • *
    • MFAToken - string - Optional - The current token displayed on the Gemalto device. MFASerial and MFAToken must both be set for MFA to work.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. * @link http://aws.amazon.com/mfa/ Multi-Factor Authentication */
    	/**
    	 * Gets a list of all Amazon S3 objects in the specified bucket.
    	 *
    	 * NOTE: This method is paginated, and will not return more than max-keys keys. If you want to retrieve a list of all keys, you will need to make multiple calls to this function using the marker option to specify the pagination offset (the key of the last processed key--lexically ordered) and the IsTruncated response key to detect when all results have been processed. See: the S3 REST documentation for get_bucket for more information.
    	 *
    	 * @param string $bucket (Required) The name of the bucket to use.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • delimiter - string - Optional - Keys that contain the same string between the prefix and the first occurrence of the delimiter will be rolled up into a single result element in the CommonPrefixes collection.
    • *
    • marker - string - Optional - Restricts the response to contain results that only occur alphabetically after the value of the marker.
    • *
    • max-keys - string - Optional - The maximum number of results returned by the method call. The returned list will contain no more results than the specified value, but may return fewer. The default value is 1000.
    • *
    • preauth - integer|string - Optional - Specifies that a presigned URL for this request should be returned. May be passed as a number of seconds since UNIX Epoch, or any string compatible with .
    • *
    • prefix - string - Optional - Restricts the response to contain results that begin only with the specified prefix.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Copies an Amazon S3 object to a new location, whether in the same Amazon S3 region, bucket, or otherwise.
    	 *
    	 * NOTE: Object redirect locations are not carried over when an object is copied.
    	 *
    	 * @param array $source (Required) The bucket and file name to copy from. The following keys must be set: 
      *
    • bucket - string - Required - Specifies the name of the bucket containing the source object.
    • *
    • filename - string - Required - Specifies the file name of the source object to copy.
    * @param array $dest (Required) The bucket and file name to copy to. The following keys must be set:
      *
    • bucket - string - Required - Specifies the name of the bucket to copy the object to.
    • *
    • filename - string - Required - Specifies the file name to copy the object to.
    * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • acl - string - Optional - The ACL settings for the specified object. [Allowed values: AmazonS3::ACL_PRIVATE, AmazonS3::ACL_PUBLIC, AmazonS3::ACL_OPEN, AmazonS3::ACL_AUTH_READ, AmazonS3::ACL_OWNER_READ, AmazonS3::ACL_OWNER_FULL_CONTROL]. Alternatively, an array of associative arrays. Each associative array contains an id and a permission key. The default value is ACL_PRIVATE.
    • *
    • encryption - string - Optional - The algorithm to use for encrypting the object. [Allowed values: AES256]
    • *
    • storage - string - Optional - Whether to use Standard or Reduced Redundancy storage. [Allowed values: AmazonS3::STORAGE_STANDARD, AmazonS3::STORAGE_REDUCED]. The default value is STORAGE_STANDARD.
    • *
    • versionId - string - Optional - The version of the object to copy. Version IDs are returned in the x-amz-version-id header of any previous object-related request.
    • *
    • ifMatch - string - Optional - The ETag header from a previous request. Copies the object if its entity tag (ETag) matches the specified tag; otherwise, the request returns a 412 HTTP status code error (precondition failed). Used in conjunction with ifUnmodifiedSince.
    • *
    • ifUnmodifiedSince - string - Optional - The LastModified header from a previous request. Copies the object if it hasn't been modified since the specified time; otherwise, the request returns a 412 HTTP status code error (precondition failed). Used in conjunction with ifMatch.
    • *
    • ifNoneMatch - string - Optional - The ETag header from a previous request. Copies the object if its entity tag (ETag) is different than the specified ETag; otherwise, the request returns a 412 HTTP status code error (failed condition). Used in conjunction with ifModifiedSince.
    • *
    • ifModifiedSince - string - Optional - The LastModified header from a previous request. Copies the object if it has been modified since the specified time; otherwise, the request returns a 412 HTTP status code error (failed condition). Used in conjunction with ifNoneMatch.
    • *
    • headers - array - Optional - Standard HTTP headers to send along in the request. Accepts an associative array of key-value pairs.
    • *
    • meta - array - Optional - Associative array of key-value pairs. Represented by x-amz-meta-: Any header starting with this prefix is considered user metadata. It will be stored with the object and returned when you retrieve the object. The total size of the HTTP request, not including the body, must be less than 4 KB.
    • *
    • metadataDirective - string - Optional - Accepts either COPY or REPLACE. You will likely never need to use this, as it manages itself with no issues.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. * @link http://docs.amazonwebservices.com/AmazonS3/latest/dev/API/RESTObjectCOPY.html Copying Amazon S3 Objects */
    	/**
    	 * Updates an Amazon S3 object with new headers or other metadata. To replace the content of the
    	 * specified Amazon S3 object, call  with the same bucket and file name parameters.
    	 *
    	 * @param string $bucket (Required) The name of the bucket that contains the source file.
    	 * @param string $filename (Required) The source file name that you want to update.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • acl - string - Optional - The ACL settings for the specified object. [Allowed values: AmazonS3::ACL_PRIVATE, AmazonS3::ACL_PUBLIC, AmazonS3::ACL_OPEN, AmazonS3::ACL_AUTH_READ, AmazonS3::ACL_OWNER_READ, AmazonS3::ACL_OWNER_FULL_CONTROL]. The default value is .
    • *
    • headers - array - Optional - Standard HTTP headers to send along in the request. Accepts an associative array of key-value pairs.
    • *
    • meta - array - Optional - An associative array of key-value pairs. Any header with the x-amz-meta- prefix is considered user metadata and is stored with the Amazon S3 object. It will be stored with the object and returned when you retrieve the object. The total size of the HTTP request, not including the body, must be less than 4 KB.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. * @link http://docs.amazonwebservices.com/AmazonS3/latest/dev/API/RESTObjectCOPY.html Copying Amazon S3 Objects */
    	/*%******************************************************************************************%*/
    
    	/**
    	 * Gets the access control list (ACL) settings for the specified Amazon S3 object.
    	 *
    	 * @param string $bucket (Required) The name of the bucket to use.
    	 * @param string $filename (Required) The file name for the object.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • versionId - string - Optional - The version of the object to retrieve. Version IDs are returned in the x-amz-version-id header of any previous object-related request.
    • *
    • preauth - integer|string - Optional - Specifies that a presigned URL for this request should be returned. May be passed as a number of seconds since UNIX Epoch, or any string compatible with .
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. * @link http://docs.amazonwebservices.com/AmazonS3/latest/dev/RESTAccessPolicy.html REST Access Control Policy */
    	/**
    	 * Sets the access control list (ACL) settings for the specified Amazon S3 object.
    	 *
    	 * @param string $bucket (Required) The name of the bucket to use.
    	 * @param string $filename (Required) The file name for the object.
    	 * @param string $acl (Optional) The ACL settings for the specified object. Accepts any of the following constants: [Allowed values: AmazonS3::ACL_PRIVATE, AmazonS3::ACL_PUBLIC, AmazonS3::ACL_OPEN, AmazonS3::ACL_AUTH_READ, AmazonS3::ACL_OWNER_READ, AmazonS3::ACL_OWNER_FULL_CONTROL]. Alternatively, an array of associative arrays. Each associative array contains an id and a permission key. The default value is ACL_PRIVATE.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. * @link http://docs.amazonwebservices.com/AmazonS3/latest/dev/RESTAccessPolicy.html REST Access Control Policy */
    	/**
    	 * Generates the XML to be used for the Access Control Policy.
    	 *
    	 * @param string $canonical_id (Required) The canonical ID for the bucket owner. This is provided as the `id` return value from .
    	 * @param string $canonical_name (Required) The canonical display name for the bucket owner. This is provided as the `display_name` value from .
    	 * @param array $users (Optional) An array of associative arrays. Each associative array contains an `id` value and a `permission` value.
    	 * @return string Access Control Policy XML.
    	 * @link http://docs.amazonwebservices.com/AmazonS3/latest/dev/ACLOverview.html Access Control Lists
    	 */
    
    	/**
    	 * Generates the HTTP headers to be used for the Access Control Policy Grants.
    	 *
    	 * @param array $users (Optional) An array of associative arrays. Each associative array contains an `id` value and a `permission` value.
    	 * @return array HTTP headers to be applied to the request.
    	 * @link http://docs.amazonwebservices.com/AmazonS3/latest/dev/ACLOverview.html Access Control Lists
    	 */
    
    	/*%******************************************************************************************%*/
    
    	/**
    	 * Gets the access logs associated with the specified Amazon S3 bucket.
    	 *
    	 * @param string $bucket (Required) The name of the bucket to use. Pass a `null` value when using the  method.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • preauth - integer|string - Optional - Specifies that a presigned URL for this request should be returned. May be passed as a number of seconds since UNIX Epoch, or any string compatible with .
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. * @link http://docs.amazonwebservices.com/AmazonS3/latest/dev/ServerLogs.html Server Access Logging */
    	/**
    	 * Enables access logging for the specified Amazon S3 bucket.
    	 *
    	 * @param string $bucket (Required) The name of the bucket to enable logging for. Pass a `null` value when using the  method.
    	 * @param string $target_bucket (Required) The name of the bucket to store the logs in.
    	 * @param string $target_prefix (Required) The prefix to give to the log file names.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • users - array - Optional - An array of associative arrays specifying any user to give access to. Each associative array contains an id and permission value.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. * @link http://docs.amazonwebservices.com/AmazonS3/latest/dev/LoggingAPI.html Server Access Logging Configuration API */
    	/**
    	 * Disables access logging for the specified Amazon S3 bucket.
    	 *
    	 * @param string $bucket (Required) The name of the bucket to use. Pass `null` if using .
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. * @link http://docs.amazonwebservices.com/AmazonS3/latest/dev/LoggingAPI.html Server Access Logging Configuration API */
    	/*%******************************************************************************************%*/
    
    	/**
    	 * Gets whether or not the specified Amazon S3 bucket exists in Amazon S3. This includes buckets
    	 * that do not belong to the caller.
    	 *
    	 * @param string $bucket (Required) The name of the bucket to use.
    	 * @return boolean A value of true if the bucket exists, or a value of false if it does not.
    	 */
    
    	/**
    	 * Gets whether or not the specified Amazon S3 object exists in the specified bucket.
    	 *
    	 * @param string $bucket (Required) The name of the bucket to use.
    	 * @param string $filename (Required) The file name for the object.
    	 * @return boolean A value of true if the object exists, or a value of false if it does not.
    	 */
    
    	/**
    	 * Gets whether or not the specified Amazon S3 bucket has a bucket policy associated with it.
    	 *
    	 * @param string $bucket (Required) The name of the bucket to use.
    	 * @return boolean A value of true if a bucket policy exists, or a value of false if one does not.
    	 */
    
    	/**
    	 * Gets the number of Amazon S3 objects in the specified bucket.
    	 *
    	 * @param string $bucket (Required) The name of the bucket to use.
    	 * @return integer The number of Amazon S3 objects in the bucket.
    	 */
    
    	/**
    	 * Gets the cumulative file size of the contents of the Amazon S3 bucket.
    	 *
    	 * @param string $bucket (Required) The name of the bucket to use.
    	 * @param boolean $friendly_format (Optional) A value of true will format the return value to 2 decimal points using the largest possible unit (i.e., 3.42 GB). A value of false will format the return value as the raw number of bytes.
    	 * @return integer|string The number of bytes as an integer, or the friendly format as a string.
    	 */
    
    	/**
    	 * Gets the file size of the specified Amazon S3 object.
    	 *
    	 * @param string $bucket (Required) The name of the bucket to use.
    	 * @param string $filename (Required) The file name for the object.
    	 * @param boolean $friendly_format (Optional) A value of true will format the return value to 2 decimal points using the largest possible unit (i.e., 3.42 GB). A value of false will format the return value as the raw number of bytes.
    	 * @return integer|string|boolean The number of bytes as an integer, or the friendly format as a string. Returns false if the request failed.
    	 */
    
    	/**
    	 * Changes the content type for an existing Amazon S3 object.
    	 *
    	 * @param string $bucket (Required) The name of the bucket to use.
    	 * @param string $filename (Required) The file name for the object.
    	 * @param string $contentType (Required) The content-type to apply to the object.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Changes the storage redundancy for an existing object.
    	 *
    	 * @param string $bucket (Required) The name of the bucket to use.
    	 * @param string $filename (Required) The file name for the object.
    	 * @param string $storage (Required) The storage setting to apply to the object. [Allowed values: AmazonS3::STORAGE_STANDARD, AmazonS3::STORAGE_REDUCED]
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Gets a simplified list of bucket names on an Amazon S3 account.
    	 *
    	 * @param string $pcre (Optional) A Perl-Compatible Regular Expression (PCRE) to filter the bucket names against.
    	 * @return array The list of matching bucket names. If there are no results, the method will return an empty array.
    	 * @link http://php.net/pcre Regular Expressions (Perl-Compatible)
    	 */
    
    	/**
    	 * Gets a simplified list of Amazon S3 object file names contained in a bucket.
    	 *
    	 * @param string $bucket (Required) The name of the bucket to use.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • delimiter - string - Optional - Keys that contain the same string between the prefix and the first occurrence of the delimiter will be rolled up into a single result element in the CommonPrefixes collection.
    • *
    • marker - string - Optional - Restricts the response to contain results that only occur alphabetically after the value of the marker.
    • *
    • max-keys - integer - Optional - The maximum number of results returned by the method call. The returned list will contain no more results than the specified value, but may return less. A value of zero is treated as if you did not specify max-keys.
    • *
    • pcre - string - Optional - A Perl-Compatible Regular Expression (PCRE) to filter the names against. This is applied only AFTER any native Amazon S3 filtering from specified prefix, marker, max-keys, or delimiter values are applied.
    • *
    • prefix - string - Optional - Restricts the response to contain results that begin only with the specified prefix.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • * @return array The list of matching object names. If there are no results, the method will return an empty array. * @link http://php.net/pcre Regular Expressions (Perl-Compatible) */
    	/**
    	 * Deletes all Amazon S3 objects inside the specified bucket.
    	 *
    	 * @param string $bucket (Required) The name of the bucket to use.
    	 * @param string $pcre (Optional) A Perl-Compatible Regular Expression (PCRE) to filter the names against. The default value is .
    	 * @return boolean A value of true means that all objects were successfully deleted. A value of false means that at least one object failed to delete.
    	 * @link http://php.net/pcre Regular Expressions (Perl-Compatible)
    	 */
    
    	/**
    	 * Deletes all of the versions of all Amazon S3 objects inside the specified bucket.
    	 *
    	 * @param string $bucket (Required) The name of the bucket to use.
    	 * @param string $pcre (Optional) A Perl-Compatible Regular Expression (PCRE) to filter the names against. The default value is .
    	 * @return boolean A value of true means that all object versions were successfully deleted. A value of false means that at least one object/version failed to delete.
    	 * @link http://php.net/pcre Regular Expressions (Perl-Compatible)
    	 */
    
    	/**
    	 * Gets the collective metadata for the given Amazon S3 object.
    	 *
    	 * The MD5 value for an object can be retrieved from the ETag HTTP header for any object that was uploaded
    	 * with a normal PUT/POST. This value is incorrect for multipart uploads.
    	 *
    	 * @param string $bucket (Required) The name of the bucket to use.
    	 * @param string $filename (Required) The file name for the Amazon S3 object.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • versionId - string - Optional - The version of the object to retrieve. Version IDs are returned in the x-amz-version-id header of any previous object-related request.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return mixed If the object exists, the method returns the collective metadata for the Amazon S3 object. If the object does not exist, the method returns boolean false. */
    	/*%******************************************************************************************%*/
    
    	/**
    	 * Gets the web-accessible URL for the Amazon S3 object or generates a time-limited signed request for
    	 * a private file.
    	 *
    	 * @param string $bucket (Required) The name of the bucket to use.
    	 * @param string $filename (Required) The file name for the Amazon S3 object.
    	 * @param integer|string $preauth (Optional) Specifies that a presigned URL for this request should be returned. May be passed as a number of seconds since UNIX Epoch, or any string compatible with .
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • https - boolean - Optional - Set to true if you would like the URL be in https mode. Otherwise, the default behavior is always to use http regardless of your SSL settings.
    • *
    • method - string - Optional - The HTTP method to use for the request. Defaults to a value of GET.
    • *
    • response - array - Optional - Allows adjustments to specific response headers. Pass an associative array where each key is one of the following: cache-control, content-disposition, content-encoding, content-language, content-type, expires. The expires value should use and be formatted with the DATE_RFC2822 constant.
    • *
    • torrent - boolean - Optional - A value of true will return a URL to a torrent of the Amazon S3 object. A value of false will return a non-torrent URL. Defaults to false.
    • *
    • versionId - string - Optional - The version of the object. Version IDs are returned in the x-amz-version-id header of any previous object-related request.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return string The file URL, with authentication and/or torrent parameters if requested. * @link http://docs.amazonwebservices.com/AmazonS3/latest/dev/S3_QSAuth.html Using Query String Authentication */
    	/**
    	 * Gets the web-accessible URL to a torrent of the Amazon S3 object. The Amazon S3 object's access
    	 * control list settings (ACL) MUST be set to  for a valid URL to be returned.
    	 *
    	 * @param string $bucket (Required) The name of the bucket to use.
    	 * @param string $filename (Required) The file name for the object.
    	 * @param integer|string $preauth (Optional) Specifies that a presigned URL for this request should be returned. May be passed as a number of seconds since UNIX Epoch, or any string compatible with .
    	 * @return string The torrent URL, with authentication parameters if requested.
    	 * @link http://docs.amazonwebservices.com/AmazonS3/latest/dev/index.html?S3TorrentRetrieve.html Using BitTorrent to Retrieve Objects Stored in Amazon S3
    	 */
    
    	/*%******************************************************************************************%*/
    
    	/**
    	 * Enables versioning support for the specified Amazon S3 bucket.
    	 *
    	 * @param string $bucket (Required) The name of the bucket to use.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • MFASerial - string (Optional) The serial number on the back of the Gemalto device. MFASerial, MFAToken and MFAStatus must all be set for MFA to work.
    • *
    • MFAToken - string (Optional) The current token displayed on the Gemalto device. MFASerial, MFAToken and MFAStatus must all be set for MFA to work.
    • *
    • MFAStatus - string (Optional) The MFA Delete status. Can be Enabled or Disabled. MFASerial, MFAToken and MFAStatus must all be set for MFA to work.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. * @link http://aws.amazon.com/mfa/ Multi-Factor Authentication */
    	/**
    	 * Disables versioning support for the specified Amazon S3 bucket.
    	 *
    	 * @param string $bucket (Required) The name of the bucket to use.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • MFASerial - string - Optional - The serial number on the back of the Gemalto device. MFASerial, MFAToken and MFAStatus must all be set for MFA to work.
    • *
    • MFAToken - string - Optional - The current token displayed on the Gemalto device. MFASerial, MFAToken and MFAStatus must all be set for MFA to work.
    • *
    • MFAStatus - string - Optional - The MFA Delete status. Can be Enabled or Disabled. MFASerial, MFAToken and MFAStatus must all be set for MFA to work.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. * @link http://aws.amazon.com/mfa/ Multi-Factor Authentication */
    	/**
    	 * Gets an Amazon S3 bucket's versioning status.
    	 *
    	 * @param string $bucket (Required) The name of the bucket to use.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • preauth - integer|string - Optional - Specifies that a presigned URL for this request should be returned. May be passed as a number of seconds since UNIX Epoch, or any string compatible with .
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Gets a list of all the versions of Amazon S3 objects in the specified bucket.
    	 *
    	 * @param string $bucket (Required) The name of the bucket to use.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • delimiter - string - Optional - Unicode string parameter. Keys that contain the same string between the prefix and the first occurrence of the delimiter will be rolled up into a single result element in the CommonPrefixes collection.
    • *
    • key-marker - string - Optional - Restricts the response to contain results that only occur alphabetically after the value of the key-marker.
    • *
    • max-keys - string - Optional - Limits the number of results returned in response to your query. Will return no more than this number of results, but possibly less.
    • *
    • prefix - string - Optional - Restricts the response to only contain results that begin with the specified prefix.
    • *
    • version-id-marker - string - Optional - Restricts the response to contain results that only occur alphabetically after the value of the version-id-marker.
    • *
    • preauth - integer|string - Optional - Specifies that a presigned URL for this request should be returned. May be passed as a number of seconds since UNIX Epoch, or any string compatible with .
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/*%******************************************************************************************%*/
    
    	/**
    	 * Sets the policy sub-resource for the specified Amazon S3 bucket. The specified policy replaces any
    	 * policy the bucket already has.
    	 *
    	 * To perform this operation, the caller must be authorized to set a policy for the bucket and have
    	 * PutPolicy permissions. If the caller does not have PutPolicy permissions for the bucket, Amazon S3
    	 * returns a `403 Access Denied` error. If the caller has the correct permissions but has not been
    	 * authorized by the bucket owner, Amazon S3 returns a `405 Method Not Allowed` error.
    	 *
    	 * @param string $bucket (Required) The name of the bucket to use.
    	 * @param CFPolicy $policy (Required) The JSON policy to use.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. * @link http://docs.amazonwebservices.com/AmazonS3/latest/dev/AccessPolicyLanguage.html Appendix: The Access Policy Language */
    	/**
    	 * Gets the policy of the specified Amazon S3 bucket.
    	 *
    	 * To use this operation, the caller must have GetPolicy permissions for the specified bucket and must be
    	 * the bucket owner. If the caller does not have GetPolicy permissions, this method will generate a
    	 * `403 Access Denied` error. If the caller has the correct permissions but is not the bucket owner, this
    	 * method will generate a `405 Method Not Allowed` error. If the bucket does not have a policy defined for
    	 * it, this method will generate a `404 Policy Not Found` error.
    	 *
    	 * @param string $bucket (Required) The name of the bucket to use.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Deletes the bucket policy for the specified Amazon S3 bucket. To delete the policy, the caller must
    	 * be the bucket owner and have `DeletePolicy` permissions for the specified bucket.
    	 *
    	 * @param string $bucket (Required) The name of the bucket to use.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. If you do not have `DeletePolicy` permissions, Amazon S3 returns a `403 Access Denied` error. If you have the correct permissions, but are not the bucket owner, Amazon S3 returns a `405 Method Not Allowed` error. If the bucket doesn't have a policy, Amazon S3 returns a `204 No Content` error. */
    	/*%******************************************************************************************%*/
    
    	/**
    	 * Enables notifications of specified events for an Amazon S3 bucket. Currently, the
    	 * `s3:ReducedRedundancyLostObject` event is the only event supported for notifications. The
    	 * `s3:ReducedRedundancyLostObject` event is triggered when Amazon S3 detects that it has lost all
    	 * copies of an Amazon S3 object and can no longer service requests for that object.
    	 *
    	 * If the bucket owner and Amazon SNS topic owner are the same, the bucket owner has permission to
    	 * publish notifications to the topic by default. Otherwise, the owner of the topic must create a
    	 * policy to enable the bucket owner to publish to the topic.
    	 *
    	 * By default, only the bucket owner can configure notifications on a bucket. However, bucket owners
    	 * can use bucket policies to grant permission to other users to set this configuration with the
    	 * `s3:PutBucketNotification` permission.
    	 *
    	 * After a PUT operation is called to configure notifications on a bucket, Amazon S3 publishes a test
    	 * notification to ensure that the topic exists and that the bucket owner has permission to publish
    	 * to the specified topic. If the notification is successfully published to the SNS topic, the PUT
    	 * operation updates the bucket configuration and returns the 200 OK responses with a
    	 * `x-amz-sns-test-message-id` header containing the message ID of the test notification sent to topic.
    	 *
    	 * @param string $bucket (Required) The name of the bucket to create bucket notifications for.
    	 * @param string $topic_arn (Required) The SNS topic ARN to send notifications to.
    	 * @param string $event (Required) The event type to listen for.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. * @link http://docs.amazonwebservices.com/AmazonS3/latest/dev/NotificationHowTo.html Setting Up Notification of Bucket Events */
    	/**
    	 * Gets the notification configuration of a bucket. Currently, the `s3:ReducedRedundancyLostObject` event
    	 * is the only event supported for notifications. The `s3:ReducedRedundancyLostObject` event is triggered
    	 * when Amazon S3 detects that it has lost all replicas of a Reduced Redundancy Storage object and can no
    	 * longer service requests for that object.
    	 *
    	 * If notifications are not enabled on the bucket, the operation returns an empty
    	 * `NotificatonConfiguration` element.
    	 *
    	 * By default, you must be the bucket owner to read the notification configuration of a bucket. However,
    	 * the bucket owner can use a bucket policy to grant permission to other users to read this configuration
    	 * with the `s3:GetBucketNotification` permission.
    	 *
    	 * @param string $bucket (Required) The name of the bucket to use.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. * @link http://docs.amazonwebservices.com/AmazonS3/latest/dev/NotificationHowTo.html Setting Up Notification of Bucket Events */
    	/**
    	 * Empties the list of SNS topics to send notifications to.
    	 *
    	 * @param string $bucket (Required) The name of the bucket to use.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. * @link http://docs.amazonwebservices.com/AmazonS3/latest/dev/NotificationHowTo.html Setting Up Notification of Bucket Events */
    	/*%******************************************************************************************%*/
    
    	/**
    	 * Calculates the correct values for sequentially reading a file for multipart upload. This method should
    	 * be used in conjunction with .
    	 *
    	 * @param integer $filesize (Required) The size in bytes of the entire file.
    	 * @param integer $part_size (Required) The size in bytes of the part of the file to send.
    	 * @return array An array containing key-value pairs. The keys are `seekTo` and `length`.
    	 */
    
    	/**
    	 * Initiates a multipart upload and returns an `UploadId`.
    	 *
    	 * @param string $bucket (Required) The name of the bucket to use.
    	 * @param string $filename (Required) The file name for the object.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • acl - string - Optional - The ACL settings for the specified object. Accepts any of the following constants: [Allowed values: AmazonS3::ACL_PRIVATE, AmazonS3::ACL_PUBLIC, AmazonS3::ACL_OPEN, AmazonS3::ACL_AUTH_READ, AmazonS3::ACL_OWNER_READ, AmazonS3::ACL_OWNER_FULL_CONTROL]. Alternatively, an array of associative arrays. Each associative array contains an id and a permission key. The default value is ACL_PRIVATE.
    • *
    • contentType - string - Optional - The type of content that is being sent. The default value is application/octet-stream.
    • *
    • encryption - string - Optional - The algorithm to use for encrypting the object. [Allowed values: AES256]
    • *
    • headers - array - Optional - Standard HTTP headers to send along in the request. Accepts an associative array of key-value pairs.
    • *
    • meta - array - Optional - An associative array of key-value pairs. Any header starting with x-amz-meta-: is considered user metadata. It will be stored with the object and returned when you retrieve the object. The total size of the HTTP request, not including the body, must be less than 4 KB.
    • *
    • storage - string - Optional - Whether to use Standard or Reduced Redundancy storage. [Allowed values: AmazonS3::STORAGE_STANDARD, AmazonS3::STORAGE_REDUCED]. The default value is STORAGE_STANDARD.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. * @link http://docs.amazonwebservices.com/AmazonS3/latest/dev/RESTAccessPolicy.html REST Access Control Policy */
    	/**
    	 * Uploads a single part of a multipart upload. The part size cannot be smaller than 5 MB
    	 * or larger than 5 TB. A multipart upload can have no more than 10,000 parts.
    	 *
    	 * Amazon S3 charges for storage as well as requests to the service. Smaller part sizes (and more
    	 * requests) allow for faster failures and better upload reliability. Larger part sizes (and fewer
    	 * requests) costs slightly less but has lower upload reliability.
    	 *
    	 * @param string $bucket (Required) The name of the bucket to use.
    	 * @param string $filename (Required) The file name for the object.
    	 * @param string $upload_id (Required) The upload ID identifying the multipart upload whose parts are being listed. The upload ID is retrieved from a call to .
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • fileUpload - string|resource - Required - The URL/path for the file to upload or an open resource.
    • *
    • partNumber - integer - Required - The part number order of the multipart upload.
    • *
    • expect - string - Optional - Specifies that the SDK not send the request body until it receives an acknowledgement. If the message is rejected based on the headers, the body of the message is not sent. For more information, see RFC 2616, section 14.20. The value can also be passed to the header option as Expect. [Allowed values: 100-continue]
    • *
    • headers - array - Optional - Standard HTTP headers to send along in the request. Accepts an associative array of key-value pairs.
    • *
    • length - integer - Optional - The size of the part in bytes. For more information, see RFC 2616, section 14.13. The value can also be passed to the header option as Content-Length.
    • *
    • md5 - string - Optional - The base64 encoded 128-bit MD5 digest of the part data. This header can be used as a message integrity check to verify that the part data is the same data that was originally sent. Although it is optional, we recommend using this mechanism as an end-to-end integrity check. For more information, see RFC 1864. The value can also be passed to the header option as Content-MD5.
    • *
    • seekTo - integer - Optional - The starting position in bytes for the piece of the file/stream to upload.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Lists the completed parts of an in-progress multipart upload.
    	 *
    	 * @param string $bucket (Required) The name of the bucket to use.
    	 * @param string $filename (Required) The file name for the object.
    	 * @param string $upload_id (Required) The upload ID identifying the multipart upload whose parts are being listed. The upload ID is retrieved from a call to .
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • max-parts - integer - Optional - The maximum number of parts to return in the response body.
    • *
    • part-number-marker - string - Optional - Restricts the response to contain results that only occur numerically after the value of the part-number-marker.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Aborts an in-progress multipart upload. This operation cannot be reversed.
    	 *
    	 * @param string $bucket (Required) The name of the bucket to use.
    	 * @param string $filename (Required) The file name for the object.
    	 * @param string $upload_id (Required) The upload ID identifying the multipart upload whose parts are being listed. The upload ID is retrieved from a call to .
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Completes an in-progress multipart upload. A multipart upload is completed by describing the part
    	 * numbers and corresponding ETag values in order, and submitting that data to Amazon S3 as an XML document.
    	 *
    	 * @param string $bucket (Required) The name of the bucket to use.
    	 * @param string $filename (Required) The file name for the object.
    	 * @param string $upload_id (Required) The upload ID identifying the multipart upload whose parts are being listed. The upload ID is retrieved from a call to .
    	 * @param string|array|SimpleXMLElement|CFResponse $parts (Required) The completion XML document. This document can be provided in multiple ways; as a string of XML, as a  object representing the XML document, as an indexed array of associative arrays where the keys are PartNumber and ETag, or as a  object returned by .
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Lists the in-progress multipart uploads.
    	 *
    	 * @param string $bucket (Required) The name of the bucket to use.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • delimiter - string - Optional - Keys that contain the same string between the prefix and the first occurrence of the delimiter will be rolled up into a single result element in the CommonPrefixes collection.
    • *
    • key-marker - string - Optional - Restricts the response to contain results that only occur alphabetically after the value of the key-marker. If used in conjunction with upload-id-marker, the results will be filtered to include keys whose upload ID is alphabetically after the value of upload-id-marker.
    • *
    • upload-id-marker - string - Optional - Restricts the response to contain results that only occur alphabetically after the value of the upload-id-marker. Must be used in conjunction with key-marker.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Since Amazon S3's standard  operation only supports copying objects that are smaller than
    	 * 5 GB, the ability to copy large objects (greater than 5 GB) requires the use of "Multipart Copy".
    	 *
    	 * Copying large objects requires the developer to initiate a new multipart "upload", copy pieces of the
    	 * large object (specifying a range of bytes up to 5 GB from the large source file), then complete the
    	 * multipart "upload".
    	 *
    	 * NOTE: This is a synchronous operation, not an asynchronous operation, which means
    	 * that Amazon S3 will not return a response for this operation until the copy has completed across the Amazon
    	 * S3 server fleet. Copying objects within a single region will complete more quickly than copying objects
    	 * across regions. The synchronous nature of this operation is different from other services where
    	 * responses are typically returned immediately, even if the operation itself has not yet been completed on
    	 * the server-side.
    	 *
    	 * @param array $source (Required) The bucket and file name to copy from. The following keys must be set: 
      *
    • bucket - string - Required - Specifies the name of the bucket containing the source object.
    • *
    • filename - string - Required - Specifies the file name of the source object to copy.
    * @param array $dest (Required) The bucket and file name to copy to. The following keys must be set:
      *
    • bucket - string - Required - Specifies the name of the bucket to copy the object to.
    • *
    • filename - string - Required - Specifies the file name to copy the object to.
    * @param string $upload_id (Required) The upload ID identifying the multipart upload whose parts are being listed. The upload ID is retrieved from a call to . * @param integer $part_number (Required) A part number uniquely identifies a part and defines its position within the destination object. When you complete a multipart upload, a complete object is created by concatenating parts in ascending order based on part number. If you copy a new part using the same part number as a previously copied/uploaded part, the previously written part is overwritten. * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • ifMatch - string - Optional - The ETag header from a previous request. Copies the object if its entity tag (ETag) matches the specified tag; otherwise, the request returns a 412 HTTP status code error (precondition failed). Used in conjunction with ifUnmodifiedSince.
    • *
    • ifUnmodifiedSince - string - Optional - The LastModified header from a previous request. Copies the object if it hasn't been modified since the specified time; otherwise, the request returns a 412 HTTP status code error (precondition failed). Used in conjunction with ifMatch.
    • *
    • ifNoneMatch - string - Optional - The ETag header from a previous request. Copies the object if its entity tag (ETag) is different than the specified ETag; otherwise, the request returns a 412 HTTP status code error (failed condition). Used in conjunction with ifModifiedSince.
    • *
    • ifModifiedSince - string - Optional - The LastModified header from a previous request. Copies the object if it has been modified since the specified time; otherwise, the request returns a 412 HTTP status code error (failed condition). Used in conjunction with ifNoneMatch.
    • *
    • range - string - Optional - The range of bytes to copy from the object. Specify this parameter when copying partial bits. The specified range must be notated with a hyphen (e.g., 0-10485759). Defaults to the byte range of the complete Amazon S3 object.
    • *
    • versionId - string - Optional - The version of the object to copy. Version IDs are returned in the x-amz-version-id header of any previous object-related request.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Creates an Amazon S3 object using the multipart upload APIs. It is analogous to .
    	 *
    	 * While each individual part of a multipart upload can hold up to 5 GB of data, this method limits the
    	 * part size to a maximum of 500 MB. The combined size of all parts can not exceed 5 TB of data. When an
    	 * object is stored in Amazon S3, the data is streamed to multiple storage servers in multiple data
    	 * centers. This ensures the data remains available in the event of internal network or hardware failure.
    	 *
    	 * Amazon S3 charges for storage as well as requests to the service. Smaller part sizes (and more
    	 * requests) allow for faster failures and better upload reliability. Larger part sizes (and fewer
    	 * requests) costs slightly less but has lower upload reliability.
    	 *
    	 * In certain cases with large objects, it's possible for this method to attempt to open more file system
    	 * connections than allowed by the OS. In this case, either
    	 * increase the number of connections
    	 * allowed or increase the value of the partSize parameter to use a larger part size.
    	 *
    	 * @param string $bucket (Required) The name of the bucket to use.
    	 * @param string $filename (Required) The file name for the object.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • fileUpload - string|resource - Required - The URL/path for the file to upload, or an open resource.
    • *
    • acl - string - Optional - The ACL settings for the specified object. [Allowed values: AmazonS3::ACL_PRIVATE, AmazonS3::ACL_PUBLIC, AmazonS3::ACL_OPEN, AmazonS3::ACL_AUTH_READ, AmazonS3::ACL_OWNER_READ, AmazonS3::ACL_OWNER_FULL_CONTROL]. The default value is ACL_PRIVATE.
    • *
    • contentType - string - Optional - The type of content that is being sent in the body. The default value is application/octet-stream.
    • *
    • headers - array - Optional - Standard HTTP headers to send along in the request. Accepts an associative array of key-value pairs.
    • *
    • length - integer - Optional - The size of the object in bytes. For more information, see RFC 2616, section 14.13. The value can also be passed to the header option as Content-Length.
    • *
    • limit - integer - Optional - The maximum number of concurrent uploads done by cURL. Gets passed to CFBatchRequest.
    • *
    • meta - array - Optional - An associative array of key-value pairs. Any header starting with x-amz-meta-: is considered user metadata. It will be stored with the object and returned when you retrieve the object. The total size of the HTTP request, not including the body, must be less than 4 KB.
    • *
    • partSize - integer - Optional - The size of an individual part. The size may not be smaller than 5 MB or larger than 500 MB. The default value is 50 MB.
    • *
    • redirectTo - string - Optional - The URI to send an HTTP 301 redirect to when accessing this object. Value must be prefixed either /, http:// or https://.
    • *
    • seekTo - integer - Optional - The starting position in bytes for the first piece of the file/stream to upload.
    • *
    • storage - string - Optional - Whether to use Standard or Reduced Redundancy storage. [Allowed values: AmazonS3::STORAGE_STANDARD, AmazonS3::STORAGE_REDUCED]. The default value is STORAGE_STANDARD.
    • *
    • uploadId - string - Optional - An upload ID identifying an existing multipart upload to use. If this option is not set, one will be created automatically.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. * @link http://docs.amazonwebservices.com/AmazonS3/latest/dev/RESTAccessPolicy.html REST Access Control Policy */
    	/**
    	 * Aborts all multipart uploads initiated before the specified date. This operation cannot be reversed.
    	 *
    	 * @param string $bucket (Required) The name of the bucket to use.
    	 * @param string|integer $when (Optional) The time and date to use for comparison. Accepts any value that  understands.
    	 * @return CFArray A  containing a series of 0 or more  objects, containing a parsed HTTP response.
    	 */
    
    	/*%******************************************************************************************%*/
    
    	/**
    	 * Enables and configures an Amazon S3 website using the corresponding bucket as the content source.
    	 * The website will have one default domain name associated with it, which is the bucket name. If you
    	 * attempt to configure an Amazon S3 website for a bucket whose name is not compatible with DNS,
    	 * Amazon S3 returns an InvalidBucketName error. For more information on bucket names and DNS,
    	 * refer to Bucket Restrictions and Limitations.
    	 *
    	 * To visit the bucket as a website a new endpoint is created in the following pattern:
    	 * http://<bucketName>.s3-website-<region>.amazonaws.com. This is a sample URL
    	 * for a bucket called example-bucket in the us-east-1 region.
    	 * (e.g., http://example-bucket.s3-website-us-east-1.amazonaws.com)
    	 *
    	 * @param string $bucket (Required) The name of the bucket to use.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • indexDocument - string - Optional - The file path to use as the root document. The default value is index.html.
    • *
    • errorDocument - string - Optional - The file path to use as the error document. The default value is error.html.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Retrieves the website configuration for a bucket. The contents of this response are identical to the
    	 * content submitted by the user during the website creation operation. If a website configuration has
    	 * never been set, Amazon S3 will return a 404 error.
    	 *
    	 * @param string $bucket (Required) The name of the bucket to use.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Removes the website configuration for a bucket.
    	 *
    	 * @param string $bucket (Required) The name of the bucket to use.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/*%******************************************************************************************%*/
    
    	/**
    	 * Enables the ability to specify a configuration that relates to the object's _lifecycle_.
    	 *
    	 * **NOTE:** In cases where the lifecycle configuration dictates that an object should be deleted, Amazon S3
    	 * guarantees that the object will be deleted when the expiration time is passed.
    	 *
    	 * @param string $bucket (Required) The name of the bucket to use.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • rules - string - Required - The object expiration rule-sets to apply to the bucket.
        *
      • x - array - Required - This represents a simple array index.
          *
        • id - string - Optional - Unique identifier for the rule. The value cannot be longer than 255 characters.
        • *
        • prefix - string - Required - The Amazon S3 object prefix which targets the file(s) for expiration.
        • *
        • expiration - array - Optional - The container for the unit of measurement by which the expiration time is calculated. At least one action (either transition or expiration) is required within one lifecycle rule.
            *
          • date - string - Conditionally Required - The timestamp for when the targetted objects are to be moved or expired from the bucket. Should be in ISO 8601 Format. HH:MM:SS will be enforced as midnight GMT/UTC.
          • *
          • days - integer - Conditionally Required - The number of days until the targetted objects are to be moved or expired from the bucket. Must be a positive integer.
          • *
        • *
        • transition - array - Optional - The container for the element that describes a transition action. At least one action (either transition or expiration) is required within one lifecycle rule.
            *
          • date - string - Conditionally Required - The timestamp for when the targetted objects are to be moved or expired from the bucket. Should be in ISO 8601 Format. HH:MM:SS will be enforced as midnight GMT/UTC.
          • *
          • days - integer - Conditionally Required - The number of days until the targetted objects are to be moved or expired from the bucket. Must be a positive integer.
          • *
          • storage - string - Required - The storage setting of an object. [Allowed values: AmazonS3::STORAGE_STANDARD, AmazonS3::STORAGE_REDUCED, STORAGE_GLACIER]. The default value is STORAGE_STANDARD.
          • *
        • *
        • enabled - boolean - Optional - Whether or not to enable this rule-set. A value of true enables the rule-set. A value of false disables the rule-set. The default value is true.
        • *
      • *
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Retrieves the configuration that relates to the object's _lifecycle_.
    	 *
    	 * @param string $bucket (Required) The name of the bucket to use.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Deletes the configuration that relates to the object's _lifecycle_.
    	 *
    	 * @param string $bucket (Required) The name of the bucket to use.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Restore an object archived in Amazon Glacier back to Amazon S3.
    	 *
    	 * @param string $bucket (Required) The name of the bucket to use.
    	 * @param string $filename (Required) The file name for the object.
    	 * @param integer $days (Required) The number of days until the targeted objects are to be moved or expired from the bucket. Must be a positive integer.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Alias of {@see AmazonS3::create_lifecycle_config()}.
    	 *
    	 * @deprecated
    	 */
    
    	/**
    	 * Alias of {@see AmazonS3::get_lifecycle_config()}.
    	 *
    	 * @deprecated
    	 */
    
    	/**
    	 * Alias of {@see AmazonS3::delete_lifecycle_config()}.
    	 *
    	 * @deprecated
    	 */
    
    	/*%******************************************************************************************%*/
    
    	/**
    	 * Apply a set of tags to the specified bucket. Bucket Tags simplify the task of associating Amazon S3
    	 * costs with specific buckets.
    	 *
    	 * This operation requires permission to perform s3:PutBucketTagging actions. By default,
    	 * the bucket owner is permitted to perform these actions, and can grant permission to other users.
    	 *
    	 * @param string $bucket (Required) The name of the bucket to use.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • tags - array - Required - An associative array of custom key-value pairs.
        *
      • [custom-key] - string - Optional - A custom key-value pair to tag the bucket with.
      • *
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Retrieve all associated tags for the specified bucket.
    	 *
    	 * @param string $bucket (Required) The name of the bucket to use.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Delete all associated tags from the specified bucket.
    	 *
    	 * @param string $bucket (Required) The name of the bucket to use.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/*%******************************************************************************************%*/
    
    	/**
    	 * Create a new CORS configuration.
    	 *
    	 * @param string $bucket (Required) The name of the bucket to use.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • cors_rule - array - Required - One or more rule-sets.
        *
      • x - array - Required - This represents a simple array index.
          *
        • allowed_header - array - Required - Used in response to a preflight request to indicate which HTTP headers can be used when making the actual request.
        • *
        • allowed_method - array - Required - An array of HTTP methods to allow. There must be at least one method set. [Allowed values: `GET`, `PUT`, `HEAD`, `POST`, `DELETE`]
        • *
        • allowed_origin - array - Required - An array of hostnames to allow. This could be `*` to indicate it is open to all domains. If one of them contains the string `*`, then there can be exactly one.
        • *
        • expose_header - string - Optional - Enable the browser to read this header.
        • *
        • id - string - Optional - Unique identifier for the rule. The value cannot be longer than 255 characters.
        • *
        • max_age - integer - Optional - Alter the client's caching behavior for the pre-flight request.
        • *
      • *
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Retrieves the CORS configuration.
    	 *
    	 * @param string $bucket (Required) The name of the bucket to use.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Deletes the CORS configuration.
    	 *
    	 * @param string $bucket (Required) The name of the bucket to use.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/*%******************************************************************************************%*/
    
    	/**
    	 * Gets the canonical user ID and display name from the Amazon S3 server.
    	 *
    	 * @return array An associative array containing the `id` and `display_name` values.
    	 */
    
    	/**
    	 * Loads and registers the S3StreamWrapper class as a stream wrapper.
    	 *
    	 * @param string $protocol (Optional) The name of the protocol to register.
    	 * @return boolean Whether or not the registration succeeded.
    	 */
    

    File: /destinations/_s3lib/aws-sdk/services/sdb.class.php

    /*
     * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
     *
     * Licensed under the Apache License, Version 2.0 (the "License").
     * You may not use this file except in compliance with the License.
     * A copy of the License is located at
     *
     *  http://aws.amazon.com/apache2.0
     *
     * or in the "license" file accompanying this file. This file is distributed
     * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
     * express or implied. See the License for the specific language governing
     * permissions and limitations under the License.
     */
    
    /**
     * Amazon SimpleDB is a web service providing the core database functions of data indexing and
     * querying in the cloud. By offloading the time and effort associated with building and operating
     * a web-scale database, SimpleDB provides developers the freedom to focus on application
     * development.
     *  
     * A traditional, clustered relational database requires a sizable upfront capital outlay, is
     * complex to design, and often requires extensive and repetitive database administration. Amazon
     * SimpleDB is dramatically simpler, requiring no schema, automatically indexing your data and
     * providing a simple API for storage and access. This approach eliminates the administrative
     * burden of data modeling, index maintenance, and performance tuning. Developers gain access to
     * this functionality within Amazon's proven computing environment, are able to scale instantly,
     * and pay only for what they use.
     *  
     * Visit http://aws.amazon.com/simpledb/ for more
     * information.
     *
     * @version 2013.01.14
     * @license See the included NOTICE.md file for complete information.
     * @copyright See the included NOTICE.md file for complete information.
     * @link http://aws.amazon.com/simpledb/ Amazon SimpleDB
     * @link http://aws.amazon.com/simpledb/documentation/ Amazon SimpleDB documentation
     */
    
    	/*%******************************************************************************************%*/
    
    	/**
    	 * Specify the queue URL for the United States East (Northern Virginia) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the United States East (Northern Virginia) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the United States West (Northern California) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the United States West (Northern California) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the United States West (Oregon) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the United States West (Oregon) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the Europe West (Ireland) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the Europe West (Ireland) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the Asia Pacific Southeast (Singapore) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the Asia Pacific Southeast (Singapore) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the Asia Pacific Southeast (Singapore) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the Asia Pacific Southeast (Singapore) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the Asia Pacific Northeast (Tokyo) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the Asia Pacific Northeast (Tokyo) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the South America (Sao Paulo) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the South America (Sao Paulo) Region.
    	 */
    
    	/**
    	 * Default service endpoint.
    	 */
    
    	/*%******************************************************************************************%*/
    
    	/**
    	 * Constructs a new instance of .
    	 *
    	 * @param array $options (Optional) An associative array of parameters that can have the following keys: 
      *
    • certificate_authority - boolean - Optional - Determines which Cerificate Authority file to use. A value of boolean false will use the Certificate Authority file available on the system. A value of boolean true will use the Certificate Authority provided by the SDK. Passing a file system path to a Certificate Authority file (chmodded to 0755) will use that. Leave this set to false if you're not sure.
    • *
    • credentials - string - Optional - The name of the credential set to use for authentication.
    • *
    • default_cache_config - string - Optional - This option allows a preferred storage type to be configured for long-term caching. This can be changed later using the method. Valid values are: apc, xcache, or a file system path such as ./cache or /tmp/cache/.
    • *
    • key - string - Optional - Your AWS key, or a session key. If blank, the default credential set will be used.
    • *
    • secret - string - Optional - Your AWS secret key, or a session secret key. If blank, the default credential set will be used.
    • *
    • token - string - Optional - An AWS session token.
    * @return void */
    	/*%******************************************************************************************%*/
    
    	/**
    	 * This allows you to explicitly sets the region for the service to use.
    	 *
    	 * @param string $region (Required) The region to explicitly set. Available options are , , , , , , , .
    	 * @return $this A reference to the current instance.
    	 */
    
    	/*%******************************************************************************************%*/
    
    	/**
    	 * ONLY lists the domains, as an array, on the SimpleDB account.
    	 *
    	 * @param string $pcre (Optional) A Perl-Compatible Regular Expression (PCRE) to filter the names against.
    	 * @return array The list of matching queue names. If there are no results, the method will return an empty array.
    	 * @link http://php.net/pcre Perl-Compatible Regular Expression (PCRE) Docs
    	 */
    
    	/**
    	 * Remaps the custom item-key-value format used by Batch* operations to the more common ComplexList
    	 * format. Internal use only.
    	 *
    	 * @param array $items (Required) The item-key-value format passed by  and .
    	 * @param boolean|array $replace (Optional) The `$replace` value passed by  and .
    	 * @return array A -compatible mapping of parameters.
    	 */
    
    	/**
    	 * Remaps the custom item-key-value format used by Batch* operations to the more common ComplexList
    	 * format. Internal use only.
    	 *
    	 * @param array $keys (Required) The key-value format passed by .
    	 * @param boolean|array $replace (Optional) The `$replace` value passed by  and .
    	 * @return array A -compatible mapping of parameters.
    	 */
    
    	/*%******************************************************************************************%*/
    
    	/**
    	 * Performs multiple DeleteAttributes operations in a single call, which reduces round trips and latencies.
    	 * This enables Amazon SimpleDB to optimize requests, which generally yields better throughput.
    	 *
    	 * If you specify BatchDeleteAttributes without attributes or values, all the attributes for the item are
    	 * deleted. BatchDeleteAttributes is an idempotent operation; running it multiple times on the same item
    	 * or attribute doesn't result in an error. The BatchDeleteAttributes operation succeeds or fails in its
    	 * entirety. There are no partial deletes.
    	 *
    	 * You can execute multiple BatchDeleteAttributes operations and other operations in parallel. However,
    	 * large numbers of concurrent BatchDeleteAttributes calls can result in Service Unavailable (503) responses.
    	 * This operation does not support conditions using Expected.X.Name, Expected.X.Value,
    	 * or Expected.X.Exists.
    	 *
    	 * The following limitations are enforced for this operation:
    	 *
    	 * 
      *
    • 1 MB request size
    • *
    • 25 item limit per BatchDeleteAttributes operation
    • *
    * * @param string $domain_name (Required) The name of the domain in which the attributes are being deleted. * @param array $item_keypairs (Required) Associative array of parameters which are treated as item-key-value and item-key-multivalue pairs (i.e. a key can have one or more values; think tags).
      *
    • [item] - array - Set the custom item name as the key for this value.
        *
      • [key] - array - Set the custom key name as the key for this value. For the value, pass a string for a single value, or an indexed array for multiple values.
      • *
    • *
    * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • Item - array - Optional - A list of items on which to perform the operation.
        *
      • x - array - This represents a simple array index.
          *
        • ItemName - string - Optional - This is the parameter format supported by the web service API. This is the item name to use.
        • *
        • Attribute - array - Optional - This is the parameter format supported by the web service API. This is the attribute node.
            *
          • x - array - This represents a simple array index.
              *
            • Name - string - Required - The name of the attribute.
            • *
            • AlternateNameEncoding - string - Optional - This is the parameter format supported by the web service API. This is the alternate name encoding to use.
            • *
            • Value - string - Required - The value of the attribute.
            • *
            • AlternateValueEncoding - string - Optional - This is the parameter format supported by the web service API. This is the alternate value encoding to use.
            • *
          • *
        • *
      • *
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This is useful for manually-managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * The BatchPutAttributes operation creates or replaces attributes within one or more items.
    	 *
    	 * Attributes are uniquely identified within an item by their name/value combination. For example, a single item can
    	 * have the attributes { "first_name", "first_value" } and {"first_name", "second_value" }.
    	 * However, it cannot have two attribute instances where both the item attribute name and item attribute value are
    	 * the same.
    	 *
    	 * Optionally, the requester can supply the Replace parameter for each individual value. Setting this value to
    	 * true will cause the new attribute value to replace the existing attribute value(s). For example, if an item I has the
    	 * attributes { 'a', '1' }, { 'b', '2'} and { 'b', '3' } and the requester does a
    	 * BatchPutAttributes of {'I', 'b', '4' } with the Replace parameter set to true,
    	 * the final attributes of the item will be { 'a', '1' } and { 'b', '4' }, replacing the previous values of the 'b'
    	 * attribute with the new value. You cannot specify an empty string as an item or attribute name.
    	 *
    	 * The BatchPutAttributes operation succeeds or fails in its entirety. There are no partial puts. You can execute multiple
    	 * BatchPutAttributes operations and other operations in parallel. However, large numbers of concurrent BatchPutAttributes
    	 * calls can result in Service Unavailable (503) responses. The following limitations are enforced for this operation:
    	 *
    	 * 
      *
    • 256 attribute name-value pairs per item
    • *
    • 1 MB request size
    • *
    • 1 billion attributes per domain
    • *
    • 10 GB of total user data storage per domain
    • *
    • 25 item limit per BatchPutAttributes operation
    • *
    * * @param string $domain_name (Required) The name of the domain in which the attributes are being deleted. * @param array $item_keypairs (Required) Associative array of parameters which are treated as item-key-value and item-key-multivalue pairs (i.e. a key can have one or more values; think tags).
      *
    • [item] - array - Set the custom item name as the key for this value.
        *
      • [key] - array - Set the custom key name as the key for this value. For the value, pass a string for a single value, or an indexed array for multiple values.
      *
    * @param boolean|array $replace (Optional) Whether to replace a key-value pair if a matching key already exists. Supports either a boolean (which affects ALL key-value pairs) or an indexed array of key names (which affects only the keys specified). Defaults to boolean false. * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • Item - array - Optional - A list of items on which to perform the operation.
        *
      • x - array - This represents a simple array index.
          *
        • ItemName - string - Optional - This is the parameter format supported by the web service API. This is the item name to use.
        • *
        • Attribute - array - Optional - This is the parameter format supported by the web service API. This is the attribute node.
            *
          • x - array - This represents a simple array index.
              *
            • Name - string - Required - The name of the attribute.
            • *
            • AlternateNameEncoding - string - Optional - This is the parameter format supported by the web service API. This is the alternate name encoding to use.
            • *
            • Value - string - Required - The value of the attribute.
            • *
            • AlternateValueEncoding - string - Optional - This is the parameter format supported by the web service API. This is the alternate value encoding to use.
            • *
          • *
        • *
      • *
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This is useful for manually-managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * The CreateDomain operation creates a new domain. The domain name should be unique
    	 * among the domains associated with the Access Key ID provided in the request. The
    	 * CreateDomain operation may take 10 or more seconds to complete.
    	 * 
    	 * 

    * CreateDomain is an idempotent operation; running it multiple times using the same domain name * will not result in an error response. *

    * The client can create up to 100 domains per account. * * If the client requires additional domains, go to http://aws.amazon.com/contact-us/simpledb-limit-request/. * * @param string $domain_name (Required) The name of the domain to create. The name can range between 3 and 255 characters and can contain the following characters: a-z, A-Z, 0-9, '_', '-', and '.'. * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Deletes one or more attributes associated with the item. If all attributes of an item are deleted,
    	 * the item is deleted.
    	 *
    	 * If you specify DeleteAttributes without attributes or values, all the attributes for the item are
    	 * deleted.
    	 *
    	 * DeleteAttributes is an idempotent operation; running it multiple times on the same item or
    	 * attribute does not result in an error response.
    	 *
    	 * Because Amazon SimpleDB makes multiple copies of your data and uses an eventual consistency update
    	 * model, performing a GetAttributes or Select request (read) immediately after a DeleteAttributes or
    	 * PutAttributes request (write) might not return the updated data.
    	 *
    	 * @param string $domain_name (Required) The name of the domain in which the attributes are being deleted.
    	 * @param string $item_name (Required) The name of the base item which will contain the series of keypairs.
    	 * @param array $attributes (Optional) Similar to columns on a spreadsheet, attributes represent categories of data that can be assigned to items. Takes an associative array of parameters that can have the following keys: 
      *
    • Attribute - array - Optional - This is the parameter format supported by the web service API. This is the attribute node.
        *
      • x - array - This represents a simple array index.
          *
        • Name - string - Required - The name of the attribute.
        • *
        • AlternateNameEncoding - string - Optional - This is the parameter format supported by the web service API. This is the alternate name encoding to use.
        • *
        • Value - string - Required - The value of the attribute.
        • *
        • AlternateValueEncoding - string - Optional - This is the parameter format supported by the web service API. This is the alternate value encoding to use.
        • *
      • *
    * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • Expected - array - Optional - The update condition which, if specified, determines if the specified attributes will be updated or not. The update condition must be satisfied in order for this request to be processed and the attributes to be updated.
        *
      • Name - string - Optional - The name of the attribute involved in the condition.
      • *
      • Value - string - Optional - The value of an attribute. This value can only be specified when the exists parameter is equal to true.
      • *
      • Exists - string - Optional - True if the specified attribute must exist with the specified value in order for this update condition to be satisfied, otherwise false if the specified attribute should not exist in order for this update condition to be satisfied.
      • *
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This is useful for manually-managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * The DeleteDomain operation deletes a domain. Any items (and their attributes) in
    	 * the domain are deleted as well. The DeleteDomain operation might take 10 or more
    	 * seconds to complete.
    	 * 
    	 * 

    * Running DeleteDomain on a domain that does not exist or running the function * multiple times using the same domain name will not result in an error response. *

    * * @param string $domain_name (Required) The name of the domain to delete. * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Returns information about the domain, including when the domain was created, the number of
    	 * items and attributes in the domain, and the size of the attribute names and values.
    	 *
    	 * @param string $domain_name (Required) The name of the domain for which to display the metadata of.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Returns all of the attributes associated with the item. Optionally, the attributes returned can be
    	 * limited to one or more specified attribute name parameters.
    	 *
    	 * If the item does not exist on the replica that was accessed for this operation, an empty set is
    	 * returned. The system does not return an error as it cannot guarantee the item does not exist on
    	 * other replicas.
    	 *
    	 * If you specify GetAttributes without any attribute names, all the attributes for the item are
    	 * returned.
    	 *
    	 * @param string $domain_name (Required) The name of the domain in which to perform the operation.
    	 * @param string $item_name (Required) The name of the base item which will contain the series of keypairs.
    	 * @param string|array $attribute_name (Optional) The names of the attributes. Pass a string for a single value, or an indexed array for multiple values.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • ConsistentRead - boolean - Optional - True if strong consistency should be enforced when data is read from SimpleDB, meaning that any data previously written to SimpleDB will be returned. Without specifying this parameter, results will be eventually consistent, and you may not see data that was written immediately before your read.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This is useful for manually-managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * The ListDomains operation lists all domains associated with the Access Key ID. It
    	 * returns domain names up to the limit set by MaxNumberOfDomains. A NextToken is returned
    	 * if there are more than MaxNumberOfDomains domains. Calling
    	 * ListDomains successive times with the NextToken provided by the
    	 * operation returns up to MaxNumberOfDomains more domain names with each successive
    	 * operation call.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • MaxNumberOfDomains - integer - Optional - The maximum number of domain names you want returned. The range is 1 to 100. The default setting is 100.
    • *
    • NextToken - string - Optional - A string informing Amazon SimpleDB where to start the next list of domain names.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * The PutAttributes operation creates or replaces attributes in an item.
    	 *
    	 * A single item can have the attributes { "first_name", "first_value" } and
    	 * { "first_name", "second_value" }. However, it cannot have two attribute instances where
    	 * both the attribute name and attribute value are the same. Optionally, the requestor can supply the
    	 * Replace parameter for each individual attribute. Setting this value to true causes the
    	 * new attribute value to replace the existing attribute value(s).
    	 *
    	 * For example, if an item has the attributes { 'a', '1' }, { 'b', '2'} and { 'b', '3' }
    	 * and the requestor calls PutAttributes using the attributes { 'b', '4' } with
    	 * the Replace parameter set to true, the final attributes of the item are changed
    	 * to { 'a', '1' } and { 'b', '4' }, which replaces the previous values of the 'b'
    	 * attribute with the new value.
    	 *
    	 * Using PutAttributes to replace attribute values that do not exist will not result in an error
    	 * response.
    	 *
    	 * You cannot specify an empty string as an attribute name.
    	 *
    	 * Because Amazon SimpleDB makes multiple copies of your data and uses an eventual consistency update
    	 * model, an immediate GetAttributes or Select request (read) immediately after a DeleteAttributes
    	 * request (write) might not return the updated data.
    	 *
    	 * The following limitations are enforced for this operation:
    	 *
    	 * 
      *
    • 256 attribute name-value pairs per item
    • *
    • 1 billion attributes per domain
    • *
    • 10 GB of total user data storage per domain
    • *
    * * @param string $domain_name (Required) The name of the domain in which the attributes are being deleted. * @param string $item_name (Required) The name of the base item which will contain the series of keypairs. * @param array $keypairs (Required) Associative array of parameters which are treated as key-value and key-multivalue pairs (i.e. a key can have one or more values; think tags).
      *
    • [key] - array - Set the custom key name as the key for this value. For the value, pass a string for a single value, or an indexed array for multiple values.
    • *
    * @param boolean|array $replace (Optional) Whether to replace a key-value pair if a matching key already exists. Supports either a boolean (which affects ALL key-value pairs) or an indexed array of key names (which affects only the keys specified). Defaults to boolean false. * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • Expected - array - Optional - The update condition which, if specified, determines if the specified attributes will be updated or not. The update condition must be satisfied in order for this request to be processed and the attributes to be updated.
        *
      • Name - string - Optional - The name of the attribute involved in the condition.
      • *
      • Value - string - Optional - The value of an attribute. This value can only be specified when the exists parameter is equal to true.
      • *
      • Exists - string - Optional - True if the specified attribute must exist with the specified value in order for this update condition to be satisfied, otherwise false if the specified attribute should not exist in order for this update condition to be satisfied.
      • *
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This is useful for manually-managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * The Select operation returns a set of attributes for ItemNames that
    	 * match the select expression. Select is similar to the standard SQL SELECT
    	 * statement.
    	 *  
    	 * The total size of the response cannot exceed 1 MB in total size. Amazon SimpleDB automatically
    	 * adjusts the number of items returned per page to enforce this limit. For example, if the client
    	 * asks to retrieve 2500 items, but each individual item is 10 kB in size, the system returns 100
    	 * items and an appropriate NextToken so the client can access the next page of
    	 * results.
    	 *  
    	 * For information on how to construct select expressions, see Using Select to Create Amazon
    	 * SimpleDB Queries in the Developer Guide.
    	 *
    	 * @param string $select_expression (Required) The expression used to query the domain.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • NextToken - string - Optional - A string informing Amazon SimpleDB where to start the next list of ItemNames .
    • *
    • ConsistentRead - boolean - Optional - Determines whether or not strong consistency should be enforced when data is read from SimpleDB. If true , any data previously written to SimpleDB will be returned. Otherwise, results will be consistent eventually, and the client may not see data that was written immediately before your read.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    /*%******************************************************************************************%*/
    

    Class: SDB_Exception extends Exception {


    File: /destinations/_s3lib/aws-sdk/services/ses.class.php

    /*
     * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
     *
     * Licensed under the Apache License, Version 2.0 (the "License").
     * You may not use this file except in compliance with the License.
     * A copy of the License is located at
     *
     *  http://aws.amazon.com/apache2.0
     *
     * or in the "license" file accompanying this file. This file is distributed
     * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
     * express or implied. See the License for the specific language governing
     * permissions and limitations under the License.
     */
    
    /**
     * This is the API Reference for Amazon Simple Email Service (Amazon SES). This documentation is
     * intended to be used in conjunction with the Amazon SES Getting Started Guide and the Amazon SES
     * Developer Guide.
     *  
     * For specific details on how to construct a service request, please consult the Amazon SES Developer Guide.
     * 
     * 

    * The endpoint for Amazon SES is located at: https://email.us-east-1.amazonaws.com *

    * * @version 2013.01.14 * @license See the included NOTICE.md file for complete information. * @copyright See the included NOTICE.md file for complete information. * @link http://aws.amazon.com/ses/ Amazon Simple Email Service * @link http://aws.amazon.com/ses/documentation/ Amazon Simple Email Service documentation */
    	/*%******************************************************************************************%*/
    
    	/**
    	 * Specify the queue URL for the United States East (Northern Virginia) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the United States East (Northern Virginia) Region.
    	 */
    
    	/**
    	 * Default service endpoint.
    	 */
    
    	/*%******************************************************************************************%*/
    
    	/**
    	 * Constructs a new instance of .
    	 *
    	 * @param array $options (Optional) An associative array of parameters that can have the following keys: 
      *
    • certificate_authority - boolean - Optional - Determines which Cerificate Authority file to use. A value of boolean false will use the Certificate Authority file available on the system. A value of boolean true will use the Certificate Authority provided by the SDK. Passing a file system path to a Certificate Authority file (chmodded to 0755) will use that. Leave this set to false if you're not sure.
    • *
    • credentials - string - Optional - The name of the credential set to use for authentication.
    • *
    • default_cache_config - string - Optional - This option allows a preferred storage type to be configured for long-term caching. This can be changed later using the method. Valid values are: apc, xcache, or a file system path such as ./cache or /tmp/cache/.
    • *
    • key - string - Optional - Your AWS key, or a session key. If blank, the default credential set will be used.
    • *
    • secret - string - Optional - Your AWS secret key, or a session secret key. If blank, the default credential set will be used.
    • *
    • token - string - Optional - An AWS session token.
    * @return void */
    	/*%******************************************************************************************%*/
    
    	/**
    	 * This allows you to explicitly sets the region for the service to use.
    	 *
    	 * @param string $region (Required) The region to explicitly set. Available options are .
    	 * @return $this A reference to the current instance.
    	 */
    
    	/*%******************************************************************************************%*/
    
    	/**
    	 * Throws an error because SSL is required for the Amazon Email Service.
    	 *
    	 * @return void
    	 */
    
    	/*%******************************************************************************************%*/
    
    	/**
    	 * Deletes the specified identity (email address or domain) from the list of verified identities.
    	 *
    	 * @param string $identity (Required) The identity to be removed from the list of identities for the AWS Account.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Deletes the specified email address from the list of verified addresses.
    	 * 
    	 * 

    * The DeleteVerifiedEmailAddress action is deprecated as of the May 15, 2012 release of Domain * Verification. The DeleteIdentity action is now preferred. *

    * * @param string $email_address (Required) An email address to be removed from the list of verified addresses. * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Returns the DNS records, or tokens, that must be present in order for Easy DKIM to
    	 * sign outgoing email messages.
    	 *  
    	 * This action takes a list of verified identities as input. It then returns the following
    	 * information for each identity:
    	 * 
    	 * 
      *
    • Whether Easy DKIM signing is enabled or disabled.
    • *
    • The set of tokens that are required for Easy DKIM signing. These tokens must be published * in the domain name's DNS records in order for DKIM verification to complete, and must remain * published in order for Easy DKIM signing to operate correctly. (This information is only * returned for domain name identities, not for email addresses.)
    • *
    • Whether Amazon SES has successfully verified the DKIM tokens published in the domain name's * DNS. (This information is only returned for domain name identities, not for email addresses.)
    • *
    * * For more information about Easy DKIM signing, go to the Amazon SES Developer Guide. * * @param string|array $identities (Required) A list of one or more verified identities - email addresses, domains, or both. Pass a string for a single value, or an indexed array for multiple values. * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Given a list of verified identities (email addresses and/or domains), returns a structure
    	 * describing identity notification attributes. For more information about feedback notification,
    	 * see the Amazon SES
    	 * Developer Guide.
    	 *
    	 * @param string|array $identities (Required) A list of one or more identities. Pass a string for a single value, or an indexed array for multiple values.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Given a list of identities (email addresses and/or domains), returns the verification status
    	 * and (for domain identities) the verification token for each identity.
    	 *
    	 * @param string|array $identities (Required) A list of identities. Pass a string for a single value, or an indexed array for multiple values.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Returns the user's current sending limits.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Returns the user's sending statistics. The result is a list of data points, representing the
    	 * last two weeks of sending activity.
    	 *  
    	 * Each data point in the list contains statistics for a 15-minute interval.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Returns a list containing all of the identities (email addresses and domains) for a specific
    	 * AWS Account, regardless of verification status.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • IdentityType - string - Optional - The type of the identities to list. Possible values are "EmailAddress" and "Domain". If this parameter is omitted, then all identities will be listed. [Allowed values: EmailAddress, Domain]
    • *
    • NextToken - string - Optional - The token to use for pagination.
    • *
    • MaxItems - integer - Optional - The maximum number of identities per page. Possible values are 1-100 inclusive.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Returns a list containing all of the email addresses that have been verified.
    	 * 
    	 * 

    * The ListVerifiedEmailAddresses action is deprecated as of the May 15, 2012 release of Domain * Verification. The ListIdentities action is now preferred. *

    * * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Composes an email message based on input data, and then immediately queues the message for
    	 * sending.
    	 * 
    	 * 

    * If you have not yet requested production access to Amazon SES, then you will only be able to * send email to and from verified email addresses and domains. For more information, go to the * Amazon SES Developer * Guide. *

    * The total size of the message cannot exceed 10 MB. * * Amazon SES has a limit on the total number of recipients per message: The combined number of * To:, CC: and BCC: email addresses cannot exceed 50. If you need to send an email message to a * larger audience, you can divide your recipient list into groups of 50 or fewer, and then call * Amazon SES repeatedly to send the message to each group. * * For every message that you send, the total number of recipients (To:, CC: and BCC:) is counted * against your sending quota - the maximum number of emails you can send in a 24-hour * period. For information about your sending quota, go to the "Managing Your Sending Activity" * section of the Amazon SES * Developer Guide. * * @param string $source (Required) The identity's email address. * @param array $destination (Required) The destination for this email, composed of To:, CC:, and BCC: fields.
      *
    • x - array - Optional - This represents a simple array index.
        *
      • ToAddresses - string|array - Optional - The To: field(s) of the message. Pass a string for a single value, or an indexed array for multiple values.
      • *
      • CcAddresses - string|array - Optional - The CC: field(s) of the message. Pass a string for a single value, or an indexed array for multiple values.
      • *
      • BccAddresses - string|array - Optional - The BCC: field(s) of the message. Pass a string for a single value, or an indexed array for multiple values.
      • *
    • *
    * @param array $message (Required) The message to be sent.
      *
    • x - array - Optional - This represents a simple array index.
        *
      • Subject - array - Required - The subject of the message: A short summary of the content, which will appear in the recipient's inbox.
          *
        • x - array - Optional - This represents a simple array index.
            *
          • Data - string - Required - The textual data of the content.
          • *
          • Charset - string - Optional - The character set of the content.
          • *
        • *
      • *
      • Body - array - Required - The message body.
          *
        • x - array - Optional - This represents a simple array index.
            *
          • Text - array - Optional - The content of the message, in text format. Use this for text-based email clients, or clients on high-latency networks (such as mobile devices).
              *
            • x - array - Optional - This represents a simple array index.
                *
              • Data - string - Required - The textual data of the content.
              • *
              • Charset - string - Optional - The character set of the content.
              • *
            • *
          • *
          • Html - array - Optional - The content of the message, in HTML format. Use this for email clients that can process HTML. You can include clickable links, formatted text, and much more in an HTML message.
              *
            • x - array - Optional - This represents a simple array index.
                *
              • Data - string - Required - The textual data of the content.
              • *
              • Charset - string - Optional - The character set of the content.
              • *
            • *
          • *
        • *
      • *
    • *
    * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • ReplyToAddresses - string|array - Optional - The reply-to email address(es) for the message. If the recipient replies to the message, each reply-to address will receive the reply. Pass a string for a single value, or an indexed array for multiple values.
    • *
    • ReturnPath - string - Optional - The email address to which bounce notifications are to be forwarded. If the message cannot be delivered to the recipient, then an error message will be returned from the recipient's ISP; this message will then be forwarded to the email address specified by the ReturnPath parameter.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Sends an email message, with header and content specified by the client. The
    	 * SendRawEmail action is useful for sending multipart MIME emails. The raw text of
    	 * the message must comply with Internet email standards; otherwise, the message cannot be sent.
    	 * 
    	 * 

    * If you have not yet requested production access to Amazon SES, then you will only be able to * send email to and from verified email addresses and domains. For more information, go to the * Amazon SES Developer * Guide. *

    * The total size of the message cannot exceed 10 MB. This includes any attachments that are part * of the message. * * Amazon SES has a limit on the total number of recipients per message: The combined number of * To:, CC: and BCC: email addresses cannot exceed 50. If you need to send an email message to a * larger audience, you can divide your recipient list into groups of 50 or fewer, and then call * Amazon SES repeatedly to send the message to each group. * * For every message that you send, the total number of recipients (To:, CC: and BCC:) is counted * against your sending quota - the maximum number of emails you can send in a 24-hour * period. For information about your sending quota, go to the "Managing Your Sending Activity" * section of the Amazon SES * Developer Guide. * * @param array $raw_message (Required) The raw text of the message. The client is responsible for ensuring the following:
    • Message must contain a header and a body, separated by a blank line.
    • All required header fields must be present.
    • Each part of a multipart MIME message must be formatted properly.
    • MIME content types must be among those supported by Amazon SES. Refer to the Amazon SES Developer Guide for more details.
    • Content must be base64-encoded, if MIME requires it.
      *
    • x - array - Optional - This represents a simple array index.
        *
      • Data - blob - Required - The raw data of the message. The client must ensure that the message format complies with Internet email standards regarding email header fields, MIME types, MIME encoding, and base64 encoding (if necessary). For more information, go to the Amazon SES Developer Guide.
      • *
    • *
    * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • Source - string - Optional - The identity's email address.

      If you specify the Source parameter, then bounce notifications and complaints will be sent to this email address. This takes precedence over any Return-Path header that you might include in the raw text of the message.

    • *
    • Destinations - string|array - Optional - A list of destinations for the message. Pass a string for a single value, or an indexed array for multiple values.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Enables or disables Easy DKIM signing of email sent from an identity:
    	 * 
    	 * 
      *
    • If Easy DKIM signing is enabled for a domain name identity (e.g., * example.com), then Amazon SES will DKIM-sign all email sent by addresses under * that domain name (e.g., user@example.com).
    • *
    • If Easy DKIM signing is enabled for an email address, then Amazon SES will DKIM-sign all * email sent by that email address.
    • *
    * * For email addresses (e.g., user@example.com), you can only enable Easy DKIM * signing if the corresponding domain (e.g., example.com) has been set up for Easy * DKIM using the AWS Console or the VerifyDomainDkim action. * * For more information about Easy DKIM signing, go to the Amazon SES Developer Guide. * * @param string $identity (Required) The identity for which DKIM signing should be enabled or disabled. * @param boolean $dkim_enabled (Required) Sets whether DKIM signing is enabled for an identity. Set to true to enable DKIM signing for this identity; false to disable it. * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Given an identity (email address or domain), enables or disables whether Amazon SES forwards
    	 * feedback notifications as email. Feedback forwarding may only be disabled when both complaint
    	 * and bounce topics are set. For more information about feedback notification, see the Amazon SES Developer Guide.
    	 *
    	 * @param string $identity (Required) The identity for which to set feedback notification forwarding. Examples: user@example.com, example.com.
    	 * @param boolean $forwarding_enabled (Required) Sets whether Amazon SES will forward feedback notifications as email. true specifies that Amazon SES will forward feedback notifications as email, in addition to any Amazon SNS topic publishing otherwise specified. false specifies that Amazon SES will publish feedback notifications only through Amazon SNS. This value can only be set to false when topics are specified for both Bounce and Complaint topic types.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Given an identity (email address or domain), sets the Amazon SNS topic to which Amazon SES will
    	 * publish bounce and complaint notifications for emails sent with that identity as the
    	 * Source. Publishing to topics may only be disabled when feedback forwarding is
    	 * enabled. For more information about feedback notification, see the Amazon SES Developer Guide.
    	 *
    	 * @param string $identity (Required) The identity for which the topic will be set. Examples: user@example.com, example.com.
    	 * @param string $notification_type (Required) The type of feedback notifications that will be published to the specified topic. [Allowed values: Bounce, Complaint]
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • SnsTopic - string - Optional - The Amazon Resource Name (ARN) of the Amazon Simple Notification Service (Amazon SNS) topic. If the parameter is ommited from the request or a null value is passed, the topic is cleared and publishing is disabled.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Returns a set of DNS records, or tokens, that must be published in the domain name's
    	 * DNS to complete the DKIM verification process. These tokens are DNS CNAME records
    	 * that point to DKIM public keys hosted by Amazon SES. To complete the DKIM verification process,
    	 * these tokens must be published in the domain's DNS. The tokens must remain published in order
    	 * for Easy DKIM signing to function correctly.
    	 *  
    	 * After the tokens are added to the domain's DNS, Amazon SES will be able to DKIM-sign email
    	 * originating from that domain. To enable or disable Easy DKIM signing for a domain, use the
    	 * SetIdentityDkimEnabled action.
    	 *  
    	 * For more information about Easy DKIM, go to the Amazon SES Developer Guide.
    	 *
    	 * @param string $domain (Required) The name of the domain to be verified for Easy DKIM signing.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Verifies a domain.
    	 *
    	 * @param string $domain (Required) The domain to be verified.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Verifies an email address. This action causes a confirmation email message to be sent to the
    	 * specified address.
    	 * 
    	 * 

    * The VerifyEmailAddress action is deprecated as of the May 15, 2012 release of Domain * Verification. The VerifyEmailIdentity action is now preferred. *

    * * @param string $email_address (Required) The email address to be verified. * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Verifies an email address. This action causes a confirmation email message to be sent to the
    	 * specified address.
    	 *
    	 * @param string $email_address (Required) The email address to be verified.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    /*%******************************************************************************************%*/
    

    Class: SES_Exception extends Exception {


    File: /destinations/_s3lib/aws-sdk/services/sns.class.php

    /*
     * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
     *
     * Licensed under the Apache License, Version 2.0 (the "License").
     * You may not use this file except in compliance with the License.
     * A copy of the License is located at
     *
     *  http://aws.amazon.com/apache2.0
     *
     * or in the "license" file accompanying this file. This file is distributed
     * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
     * express or implied. See the License for the specific language governing
     * permissions and limitations under the License.
     */
    
    /**
     * This is the Amazon Simple Notification Service (Amazon SNS) API Reference. This guide
     * provides detailed information about Amazon SNS actions, data types, parameters, and errors. For
     * detailed information about Amazon SNS features and their associated API calls, go to the
     * 	Amazon SNS Getting Started
     * Guide.
     *  
     * Amazon Simple Notification Service is a web service that enables you to build distributed
     * web-enabled applications. Applications can use Amazon SNS to easily push real-time notification
     * messages to interested subscribers over multiple delivery protocols. For more information about
     * this product go to http://aws.amazon.com/sns.
     *  
     * Use the following links to get started using the Amazon Simple Notification Service API
     * Reference:
     * 
     * 
      *
    • Actions: * An alphabetical list of all Amazon SNS actions.
    • *
    • Data Types: * An alphabetical list of all Amazon SNS data types.
    • *
    • Common * Parameters: Parameters that all Query actions can use.
    • *
    • Common * Errors: Client and server errors that all actions can return.
    • *
    • Regions * and Endpoints: Itemized regions and endpoints for all AWS products.
    • *
    • WSDL * Location: * http://sns.us-east-1.amazonaws.com/doc/2010-03-31/SimpleNotificationService.wsdl
    • *
    * * @version 2013.01.15 * @license See the included NOTICE.md file for complete information. * @copyright See the included NOTICE.md file for complete information. * @link http://aws.amazon.com/sns/ Amazon Simple Notification Service * @link http://aws.amazon.com/sns/documentation/ Amazon Simple Notification Service documentation */
    	/*%******************************************************************************************%*/
    
    	/**
    	 * Specify the queue URL for the United States East (Northern Virginia) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the United States East (Northern Virginia) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the United States West (Northern California) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the United States West (Northern California) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the United States West (Oregon) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the United States West (Oregon) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the Europe West (Ireland) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the Europe West (Ireland) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the Asia Pacific Southeast (Singapore) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the Asia Pacific Southeast (Singapore) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the Asia Pacific Southeast (Singapore) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the Asia Pacific Southeast (Singapore) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the Asia Pacific Northeast (Tokyo) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the Asia Pacific Northeast (Tokyo) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the South America (Sao Paulo) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the South America (Sao Paulo) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the United States GovCloud Region.
    	 */
    
    	/**
    	 * Default service endpoint.
    	 */
    
    	/*%******************************************************************************************%*/
    
    	/**
    	 * Constructs a new instance of .
    	 *
    	 * @param array $options (Optional) An associative array of parameters that can have the following keys: 
      *
    • certificate_authority - boolean - Optional - Determines which Cerificate Authority file to use. A value of boolean false will use the Certificate Authority file available on the system. A value of boolean true will use the Certificate Authority provided by the SDK. Passing a file system path to a Certificate Authority file (chmodded to 0755) will use that. Leave this set to false if you're not sure.
    • *
    • credentials - string - Optional - The name of the credential set to use for authentication.
    • *
    • default_cache_config - string - Optional - This option allows a preferred storage type to be configured for long-term caching. This can be changed later using the method. Valid values are: apc, xcache, or a file system path such as ./cache or /tmp/cache/.
    • *
    • key - string - Optional - Your AWS key, or a session key. If blank, the default credential set will be used.
    • *
    • secret - string - Optional - Your AWS secret key, or a session secret key. If blank, the default credential set will be used.
    • *
    • token - string - Optional - An AWS session token.
    * @return void */
    	/*%******************************************************************************************%*/
    
    	/**
    	 * This allows you to explicitly sets the region for the service to use.
    	 *
    	 * @param string $region (Required) The region to explicitly set. Available options are , , , , , , , , .
    	 * @return $this A reference to the current instance.
    	 */
    
    	/*%******************************************************************************************%*/
    
    	/**
    	 * Gets a simple list of Topic ARNs.
    	 *
    	 * @param string $pcre (Optional) A Perl-Compatible Regular Expression (PCRE) to filter the names against.
    	 * @return array A list of Topic ARNs.
    	 * @link http://php.net/pcre Perl-Compatible Regular Expression (PCRE) Docs
    	 */
    
    	/*%******************************************************************************************%*/
    
    	/**
    	 * The AddPermission action adds a statement to a topic's access control policy, granting access
    	 * for the specified AWS accounts to the specified actions.
    	 *
    	 * @param string $topic_arn (Required) The ARN of the topic whose access control policy you wish to modify.
    	 * @param string $label (Required) A unique identifier for the new policy statement.
    	 * @param string|array $aws_account_id (Required) The AWS account IDs of the users (principals) who will be given access to the specified actions. The users must have AWS accounts, but do not need to be signed up for this service. Pass a string for a single value, or an indexed array for multiple values.
    	 * @param string|array $action_name (Required) The action you want to allow for the specified principal(s). Pass a string for a single value, or an indexed array for multiple values.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * The ConfirmSubscription action verifies an endpoint owner's intent to receive messages by
    	 * validating the token sent to the endpoint by an earlier Subscribe action. If the token is
    	 * valid, the action creates a new subscription and returns its Amazon Resource Name (ARN). This
    	 * call requires an AWS signature only when the AuthenticateOnUnsubscribe flag is set to "true".
    	 *
    	 * @param string $topic_arn (Required) The ARN of the topic for which you wish to confirm a subscription.
    	 * @param string $token (Required) Short-lived token sent to an endpoint during the Subscribe action.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • AuthenticateOnUnsubscribe - string - Optional - Indicates that you want to disallow unauthenticated unsubscribes of the subscription. If value of this parameter is "true" and the request has an AWS signature then only the topic owner and the subscription owner will be permitted to unsubscribe the endpoint. The unsubscribe action will require AWS authentication.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * The CreateTopic action creates a topic to which notifications can be published. Users can
    	 * create at most 25 topics. This action is idempotent, so if the requester already owns a topic
    	 * with the specified name, that topic's ARN will be returned without creating a new topic.
    	 *
    	 * @param string $name (Required) The name of the topic you want to create. Constraints: Topic names must be made up of only uppercase and lowercase ASCII letters, numbers, and hyphens, and must be between 1 and 256 characters long.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * The DeleteTopic action deletes a topic and all its subscriptions. Deleting a topic might
    	 * prevent some messages previously sent to the topic from being delivered to subscribers. This
    	 * action is idempotent, so deleting a topic that does not exist will not result in an error.
    	 *
    	 * @param string $topic_arn (Required) The ARN of the topic you want to delete.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * The GetSubscriptionAttribtues action returns all of the properties of a subscription.
    	 *
    	 * @param string $subscription_arn (Required) The ARN of the subscription whose properties you want to get.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * The GetTopicAttribtues action returns all of the properties of a topic customers have created.
    	 * Topic properties returned might differ based on the authorization of the user.
    	 *
    	 * @param string $topic_arn (Required) The ARN of the topic whose properties you want to get.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * The ListSubscriptions action returns a list of the requester's subscriptions. Each call returns
    	 * a limited list of subscriptions, up to 100. If there are more subscriptions, a NextToken is
    	 * also returned. Use the NextToken parameter in a new ListSubscriptions call to get further
    	 * results.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • NextToken - string - Optional - Token returned by the previous ListSubscriptions request.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * The ListSubscriptionsByTopic action returns a list of the subscriptions to a specific topic.
    	 * Each call returns a limited list of subscriptions, up to 100. If there are more subscriptions,
    	 * a NextToken is also returned. Use the NextToken parameter in a new ListSubscriptionsByTopic
    	 * call to get further results.
    	 *
    	 * @param string $topic_arn (Required) The ARN of the topic for which you wish to find subscriptions.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • NextToken - string - Optional - Token returned by the previous ListSubscriptionsByTopic request.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * The ListTopics action returns a list of the requester's topics. Each call returns a limited
    	 * list of topics, up to 100. If there are more topics, a NextToken is also returned. Use the
    	 * NextToken parameter in a new ListTopics call to get further results.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • NextToken - string - Optional - Token returned by the previous ListTopics request.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * The Publish action sends a message to all of a topic's subscribed endpoints. When a messageId
    	 * is returned, the message has been saved and Amazon SNS will attempt to deliver it to the
    	 * topic's subscribers shortly. The format of the outgoing message to each subscribed endpoint
    	 * depends on the notification protocol selected.
    	 *
    	 * @param string $topic_arn (Required) The topic you want to publish to.
    	 * @param string $message (Required) The message you want to send to the topic. Constraints: Messages must be UTF-8 encoded strings at most 8 KB in size (8192 bytes, not 8192 characters).
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • Subject - string - Optional - Optional parameter to be used as the "Subject" line of when the message is delivered to e-mail endpoints. This field will also be included, if present, in the standard JSON messages delivered to other endpoints. Constraints: Subjects must be ASCII text that begins with a letter, number or punctuation mark; must not include line breaks or control characters; and must be less than 100 characters long.
    • *
    • MessageStructure - string - Optional - Optional parameter. It will have one valid value: "json". If this option, Message is present and set to "json", the value of Message must: be a syntactically valid JSON object. It must contain at least a top level JSON key of "default" with a value that is a string. For any other top level key that matches one of our transport protocols (e.g. "http"), then the corresponding value (if it is a string) will be used for the message published for that protocol Constraints: Keys in the JSON object that correspond to supported transport protocols must have simple JSON string values. The values will be parsed (unescaped) before they are used in outgoing messages. Typically, outbound notifications are JSON encoded (meaning, the characters will be reescaped for sending). JSON strings are UTF-8. Values have a minimum length of 0 (the empty string, "", is allowed). Values have a maximum length bounded by the overall message size (so, including multiple protocols may limit message sizes). Non-string values will cause the key to be ignored. Keys that do not correspond to supported transport protocols will be ignored. Duplicate keys are not allowed. Failure to parse or validate any key or value in the message will cause the Publish call to return an error (no partial delivery).
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * The RemovePermission action removes a statement from a topic's access control policy.
    	 *
    	 * @param string $topic_arn (Required) The ARN of the topic whose access control policy you wish to modify.
    	 * @param string $label (Required) The unique label of the statement you want to remove.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * The SetSubscriptionAttributes action allows a subscription owner to set an attribute of the
    	 * topic to a new value.
    	 *
    	 * @param string $subscription_arn (Required) The ARN of the subscription to modify.
    	 * @param string $attribute_name (Required) The name of the attribute you want to set. Only a subset of the subscriptions attributes are mutable. Valid values: DeliveryPolicy
    	 * @param string $attribute_value (Required) The new value for the attribute.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * The SetTopicAttributes action allows a topic owner to set an attribute of the topic to a new
    	 * value.
    	 *
    	 * @param string $topic_arn (Required) The ARN of the topic to modify.
    	 * @param string $attribute_name (Required) The name of the attribute you want to set. Only a subset of the topic's attributes are mutable. Valid values: Policy | DisplayName
    	 * @param string $attribute_value (Required) The new value for the attribute.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * The Subscribe action prepares to subscribe an endpoint by sending the endpoint a confirmation
    	 * message. To actually create a subscription, the endpoint owner must call the
    	 * ConfirmSubscription action with the token from the confirmation message. Confirmation tokens
    	 * are valid for three days.
    	 *
    	 * @param string $topic_arn (Required) The ARN of topic you want to subscribe to.
    	 * @param string $protocol (Required) The protocol you want to use. Supported protocols include:
    • http -- delivery of JSON-encoded message via HTTP POST
    • https -- delivery of JSON-encoded message via HTTPS POST
    • email -- delivery of message via SMTP
    • email-json -- delivery of JSON-encoded message via SMTP
    • sqs -- delivery of JSON-encoded message to an Amazon SQS queue
    * @param string $endpoint (Required) The endpoint that you want to receive notifications. Endpoints vary by protocol:
    • For the http protocol, the endpoint is an URL beginning with "http://"
    • For the https protocol, the endpoint is a URL beginning with "https://"
    • For the email protocol, the endpoint is an e-mail address
    • For the email-json protocol, the endpoint is an e-mail address
    • For the sqs protocol, the endpoint is the ARN of an Amazon SQS queue
    * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * The Unsubscribe action deletes a subscription. If the subscription requires authentication for
    	 * deletion, only the owner of the subscription or the its topic's owner can unsubscribe, and an
    	 * AWS signature is required. If the Unsubscribe call does not require authentication and the
    	 * requester is not the subscription owner, a final cancellation message is delivered to the
    	 * endpoint, so that the endpoint owner can easily resubscribe to the topic if the Unsubscribe
    	 * request was unintended.
    	 *
    	 * @param string $subscription_arn (Required) The ARN of the subscription to be deleted.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    /*%******************************************************************************************%*/
    

    Class: SNS_Exception extends Exception {


    File: /destinations/_s3lib/aws-sdk/services/sqs.class.php

    /*
     * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
     *
     * Licensed under the Apache License, Version 2.0 (the "License").
     * You may not use this file except in compliance with the License.
     * A copy of the License is located at
     *
     *  http://aws.amazon.com/apache2.0
     *
     * or in the "license" file accompanying this file. This file is distributed
     * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
     * express or implied. See the License for the specific language governing
     * permissions and limitations under the License.
     */
    
    /**
     * Amazon Simple Queue Service (Amazon SQS) offers a reliable, highly scalable, hosted queue for
     * storing messages as they travel between computers. By using Amazon SQS, developers can simply
     * move data between distributed components of their applications that perform different tasks,
     * without losing messages or requiring each component to be always available. Amazon SQS makes it
     * easy to build an automated workflow, working in close conjunction with the Amazon Elastic
     * Compute Cloud (Amazon EC2) and the other AWS infrastructure web services.
     *  
     * Amazon SQS works by exposing Amazon's web-scale messaging infrastructure as a web service. Any
     * computer on the Internet can add or read messages without any installed software or special
     * firewall configurations. Components of applications using Amazon SQS can run independently, and
     * do not need to be on the same network, developed with the same technologies, or running at the
     * same time.
     *  
     * Visit http://aws.amazon.com/sqs/ for more information.
     *
     * @version 2013.01.14
     * @license See the included NOTICE.md file for complete information.
     * @copyright See the included NOTICE.md file for complete information.
     * @link http://aws.amazon.com/sqs/ Amazon Simple Queue Service
     * @link http://aws.amazon.com/sqs/documentation/ Amazon Simple Queue Service documentation
     */
    
    	/*%******************************************************************************************%*/
    
    	/**
    	 * Specify the queue URL for the United States East (Northern Virginia) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the United States East (Northern Virginia) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the United States West (Northern California) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the United States West (Northern California) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the United States West (Oregon) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the United States West (Oregon) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the Europe West (Ireland) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the Europe West (Ireland) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the Asia Pacific Southeast (Singapore) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the Asia Pacific Southeast (Singapore) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the Asia Pacific Southeast (Singapore) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the Asia Pacific Southeast (Singapore) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the Asia Pacific Northeast (Tokyo) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the Asia Pacific Northeast (Tokyo) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the South America (Sao Paulo) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the South America (Sao Paulo) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the United States GovCloud Region.
    	 */
    
    	/**
    	 * Default service endpoint.
    	 */
    
    	/*%******************************************************************************************%*/
    
    	/**
    	 * Constructs a new instance of .
    	 *
    	 * @param array $options (Optional) An associative array of parameters that can have the following keys: 
      *
    • certificate_authority - boolean - Optional - Determines which Cerificate Authority file to use. A value of boolean false will use the Certificate Authority file available on the system. A value of boolean true will use the Certificate Authority provided by the SDK. Passing a file system path to a Certificate Authority file (chmodded to 0755) will use that. Leave this set to false if you're not sure.
    • *
    • credentials - string - Optional - The name of the credential set to use for authentication.
    • *
    • default_cache_config - string - Optional - This option allows a preferred storage type to be configured for long-term caching. This can be changed later using the method. Valid values are: apc, xcache, or a file system path such as ./cache or /tmp/cache/.
    • *
    • key - string - Optional - Your AWS key, or a session key. If blank, the default credential set will be used.
    • *
    • secret - string - Optional - Your AWS secret key, or a session secret key. If blank, the default credential set will be used.
    • *
    • token - string - Optional - An AWS session token.
    * @return void */
    	/*%******************************************************************************************%*/
    
    	/**
    	 * This allows you to explicitly sets the region for the service to use.
    	 *
    	 * @param string $region (Required) The region to explicitly set. Available options are , , , , , , , , .
    	 * @return $this A reference to the current instance.
    	 */
    
    	/*%******************************************************************************************%*/
    
    	/**
    	 * Converts a queue URI into a queue ARN.
    	 *
    	 * @param string $queue_url (Required) The queue URL to perform the action on. Retrieved when the queue is first created.
    	 * @return string An ARN representation of the queue URI.
    	 */
    
    	/**
    	 * Returns the approximate number of messages in the queue.
    	 *
    	 * @param string $queue_url (Required) The queue URL to perform the action on. Retrieved when the queue is first created.
    	 * @return mixed The Approximate number of messages in the queue as an integer. If the queue doesn't exist, it returns the entire  object.
    	 */
    
    	/**
    	 * ONLY lists the queue URLs, as an array, on the SQS account.
    	 *
    	 * @param string $pcre (Optional) A Perl-Compatible Regular Expression (PCRE) to filter the names against.
    	 * @return array The list of matching queue names. If there are no results, the method will return an empty array.
    	 * @link http://php.net/pcre Perl-Compatible Regular Expression (PCRE) Docs
    	 */
    
    	/*%******************************************************************************************%*/
    
    	/**
    	 * This overwrites the default authenticate method in sdk.class.php to address SQS queue URLs.
    	 *
    	 * @return CFResponse Object containing a parsed HTTP response.
    	 */
    
    	/*%******************************************************************************************%*/
    
    	/**
    	 * The AddPermission action adds a permission to a queue for a specific 
    	 * principal. This allows for sharing access to the queue.
    	 *  
    	 * When you create a queue, you have full control access rights for the queue. Only you (as owner
    	 * of the queue) can grant or deny permissions to the queue. For more information about these
    	 * permissions, see 
    	 * Shared Queues in the Amazon SQS Developer Guide.
    	 *  
    	 * AddPermission writes an SQS-generated policy. If you want to write your own
    	 * policy, use SetQueueAttributes to upload your policy. For more information about writing your
    	 * own policy, see 
    	 * Appendix: The Access Policy Language in the Amazon SQS Developer Guide.
    	 *
    	 * @param string $queue_url (Required) The URL of the SQS queue to take action on.
    	 * @param string $label (Required) The unique identification of the permission you're setting (e.g., AliceSendMessage). Constraints: Maximum 80 characters; alphanumeric characters, hyphens (-), and underscores (_) are allowed.
    	 * @param string|array $aws_account_id (Required) The AWS account number of the principal who will be given permission. The principal must have an AWS account, but does not need to be signed up for Amazon SQS. Pass a string for a single value, or an indexed array for multiple values.
    	 * @param string|array $action_name (Required) The action the client wants to allow for the specified principal. Pass a string for a single value, or an indexed array for multiple values.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * The ChangeMessageVisibility action changes the visibility timeout of a specified
    	 * message in a queue to a new value. The maximum allowed timeout value you can set the value to
    	 * is 12 hours. This means you can't extend the timeout of a message in an existing queue to more
    	 * than a total visibility timeout of 12 hours. (For more information visibility timeout, see
    	 * 	
    	 * Visibility Timeout in the Amazon SQS Developer Guide.)
    	 *  
    	 * For example, let's say you have a message and its default message visibility timeout is 30
    	 * minutes. You could call ChangeMessageVisiblity with a value of two hours and the
    	 * effective timeout would be two hours and 30 minutes. When that time comes near you could again
    	 * extend the time out by calling ChangeMessageVisiblity, but this time the maximum allowed
    	 * timeout would be 9 hours and 30 minutes.
    	 * 
    	 * 

    * If you attempt to set the VisibilityTimeout to an amount more than the maximum * time left, Amazon SQS returns an error. It will not automatically recalculate and increase the * timeout to the maximum time remaining. *

    *

    * Unlike with a queue, when you change the visibility timeout for a specific message, that * timeout value is applied immediately but is not saved in memory for that message. If you don't * delete a message after it is received, the visibility timeout for the message the next time it * is received reverts to the original timeout value, not the value you set with the * ChangeMessageVisibility action. *

    * * @param string $queue_url (Required) The URL of the SQS queue to take action on. * @param string $receipt_handle (Required) The receipt handle associated with the message whose visibility timeout should be changed. * @param integer $visibility_timeout (Required) The new value (in seconds) for the message's visibility timeout. * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * This is a batch version of ChangeMessageVisibility. It takes multiple receipt
    	 * handles and performs the operation on each of the them. The result of the operation on each
    	 * message is reported individually in the response.
    	 *
    	 * @param string $queue_url (Required) The URL of the SQS queue to take action on.
    	 * @param array $change_message_visibility_batch_request_entry (Required) A list of receipt handles of the messages for which the visibility timeout must be changed. 
      *
    • x - array - Optional - This represents a simple array index.
        *
      • Id - string - Required - An identifier for this particular receipt handle. This is used to communicate the result. Note that the Id s of a batch request need to be unique within the request.
      • *
      • ReceiptHandle - string - Required - A receipt handle.
      • *
      • VisibilityTimeout - integer - Optional - The new value (in seconds) for the message's visibility timeout.
      • *
    • *
    * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * The CreateQueue action creates a new queue, or returns the URL of an existing one.
    	 * When you request CreateQueue, you provide a name for the queue. To successfully
    	 * create a new queue, you must provide a name that is unique within the scope of your own queues.
    	 *  
    	 * You may pass one or more attributes in the request. If you do not provide a value for any
    	 * attribute, the queue will have the default value for that attribute. Permitted attributes are
    	 * the same that can be set using SetQueueAttributes.
    	 *  
    	 * If you provide the name of an existing queue, a new queue isn't created. If the values of
    	 * attributes provided with the request match up with those on the existing queue, the queue URL
    	 * is returned. Otherwise, a QueueNameExists error is returned.
    	 *
    	 * @param string $queue_name (Required) The name for the queue to be created.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • Attribute - array - Optional - A map of attributes with their corresponding values.
        *
      • x - array - Optional - This represents a simple array index.
          *
        • Name - string - Optional - The name of a queue attribute. [Allowed values: Policy, VisibilityTimeout, MaximumMessageSize, MessageRetentionPeriod, ApproximateNumberOfMessages, ApproximateNumberOfMessagesNotVisible, CreatedTimestamp, LastModifiedTimestamp, QueueArn, ApproximateNumberOfMessagesDelayed, DelaySeconds, ReceiveMessageWaitTimeSeconds]
        • *
        • Value - string - Optional - The value of a queue attribute.
        • *
      • *
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * The DeleteMessage action unconditionally removes the specified message from the
    	 * specified queue. Even if the message is locked by another reader due to the visibility timeout
    	 * setting, it is still deleted from the queue.
    	 *
    	 * @param string $queue_url (Required) The URL of the SQS queue to take action on.
    	 * @param string $receipt_handle (Required) The receipt handle associated with the message to delete.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * This is a batch version of DeleteMessage. It takes multiple receipt handles and
    	 * deletes each one of the messages. The result of the delete operation on each message is
    	 * reported individually in the response.
    	 *
    	 * @param string $queue_url (Required) The URL of the SQS queue to take action on.
    	 * @param array $delete_message_batch_request_entry (Required) A list of receipt handles for the messages to be deleted. 
      *
    • x - array - Optional - This represents a simple array index.
        *
      • Id - string - Required - An identifier for this particular receipt handle. This is used to communicate the result. Note that the Id s of a batch request need to be unique within the request.
      • *
      • ReceiptHandle - string - Required - A receipt handle.
      • *
    • *
    * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * This action unconditionally deletes the queue specified by the queue URL. Use this operation
    	 * WITH CARE! The queue is deleted even if it is NOT empty.
    	 *  
    	 * Once a queue has been deleted, the queue name is unavailable for use with new queues for 60
    	 * seconds.
    	 *
    	 * @param string $queue_url (Required) The URL of the SQS queue to take action on.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Gets attributes for the specified queue. The following attributes are supported:
    	 * 
    	 * 
      *
    • All - returns all values.
    • *
    • ApproximateNumberOfMessages - returns the approximate number of visible * messages in a queue. For more information, see Resources Required to Process Messages in * the Amazon SQS Developer Guide.
    • *
    • ApproximateNumberOfMessagesNotVisible - returns the approximate number of * messages that are not timed-out and not deleted. For more information, see Resources * Required to Process Messages in the Amazon SQS Developer Guide.
    • *
    • VisibilityTimeout - returns the visibility timeout for the queue. For more * information about visibility timeout, see Visibility Timeout in the Amazon SQS Developer * Guide.
    • *
    • CreatedTimestamp - returns the time when the queue was created (epoch time in * seconds).
    • *
    • LastModifiedTimestamp - returns the time when the queue was last changed * (epoch time in seconds).
    • *
    • Policy - returns the queue's policy.
    • *
    • MaximumMessageSize - returns the limit of how many bytes a message can contain * before Amazon SQS rejects it.
    • *
    • MessageRetentionPeriod - returns the number of seconds Amazon SQS retains a * message.
    • *
    • QueueArn - returns the queue's Amazon resource name (ARN).
    • *
    • ApproximateNumberOfMessagesDelayed - returns the approximate number of * messages that are pending to be added to the queue.
    • *
    • DelaySeconds - returns the default delay on the queue in seconds.
    • *
    • ReceiveMessageWaitTimeSeconds - returns the time for which a ReceiveMessage * call will wait for a message to arrive.
    • *
    * * @param string $queue_url (Required) The URL of the SQS queue to take action on. * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • AttributeName - string|array - Optional - A list of attributes to retrieve information for. Pass a string for a single value, or an indexed array for multiple values.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * The GetQueueUrl action returns the URL of an existing queue.
    	 *
    	 * @param string $queue_name (Required) The name of the queue whose URL must be fetched.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • QueueOwnerAWSAccountId - string - Optional - The AWS account number of the queue's owner.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Returns a list of your queues.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • QueueNamePrefix - string - Optional - A string to use for filtering the list results. Only those queues whose name begins with the specified string are returned.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Retrieves one or more messages from the specified queue, including the message body and message
    	 * ID of each message. Messages returned by this action stay in the queue until you delete them.
    	 * However, once a message is returned to a ReceiveMessage request, it is not
    	 * returned on subsequent ReceiveMessage requests for the duration of the
    	 * VisibilityTimeout. If you do not specify a VisibilityTimeout in the
    	 * request, the overall visibility timeout for the queue is used for the returned messages.
    	 *  
    	 * If a message is available in the queue, the call will return immediately. Otherwise, it will
    	 * wait up to WaitTimeSeconds for a message to arrive. If you do not specify
    	 * WaitTimeSeconds in the request, the queue attribute ReceiveMessageWaitTimeSeconds
    	 * is used to determine how long to wait.
    	 *  
    	 * You could ask for additional information about each message through the attributes. Attributes
    	 * that can be requested are [SenderId, ApproximateFirstReceiveTimestamp,
    	 * ApproximateReceiveCount, SentTimestamp].
    	 *
    	 * @param string $queue_url (Required) The URL of the SQS queue to take action on.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • AttributeName - string|array - Optional - A list of attributes that need to be returned along with each message. The set of valid attributes are [SenderId, ApproximateFirstReceiveTimestamp, ApproximateReceiveCount, SentTimestamp]. Pass a string for a single value, or an indexed array for multiple values.
    • *
    • MaxNumberOfMessages - integer - Optional - The maximum number of messages to return. Amazon SQS never returns more messages than this value but may return fewer. All of the messages are not necessarily returned.
    • *
    • VisibilityTimeout - integer - Optional - The duration (in seconds) that the received messages are hidden from subsequent retrieve requests after being retrieved by a ReceiveMessage request.
    • *
    • WaitTimeSeconds - integer - Optional - The duration (in seconds) for which the call will wait for a message to arrive in the queue before returning. If a message is available, the call will return sooner than WaitTimeSeconds.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * The RemovePermission action revokes any permissions in the queue policy that
    	 * matches the specified Label parameter. Only the owner of the queue can remove
    	 * permissions.
    	 *
    	 * @param string $queue_url (Required) The URL of the SQS queue to take action on.
    	 * @param string $label (Required) The identification of the permission to remove. This is the label added with the AddPermission operation.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * The SendMessage action delivers a message to the specified queue.
    	 *
    	 * @param string $queue_url (Required) The URL of the SQS queue to take action on.
    	 * @param string $message_body (Required) The message to send.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • DelaySeconds - integer - Optional - The number of seconds the message has to be delayed.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * This is a batch version of SendMessage. It takes multiple messages and adds each
    	 * of them to the queue. The result of each add operation is reported individually in the
    	 * response.
    	 *
    	 * @param string $queue_url (Required) The URL of the SQS queue to take action on.
    	 * @param array $send_message_batch_request_entry (Required) A list of SendMessageBatchRequestEntry s. 
      *
    • x - array - Optional - This represents a simple array index.
        *
      • Id - string - Required - An identifier for the message in this batch. This is used to communicate the result. Note that the the Id s of a batch request need to be unique within the request.
      • *
      • MessageBody - string - Required - Body of the message.
      • *
      • DelaySeconds - integer - Optional - The number of seconds for which the message has to be delayed.
      • *
    • *
    * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Sets the value of one or more queue attributes. Valid attributes that can be set are
    	 * [VisibilityTimeout, Policy, MaximumMessageSize, MessageRetentionPeriod,
    	 * ReceiveMessageWaitTimeSeconds].
    	 *
    	 * @param string $queue_url (Required) The URL of the SQS queue to take action on.
    	 * @param array $attribute (Required) A map of attributes to set. 
      *
    • x - array - Optional - This represents a simple array index.
        *
      • Name - string - Optional - The name of a queue attribute. [Allowed values: Policy, VisibilityTimeout, MaximumMessageSize, MessageRetentionPeriod, ApproximateNumberOfMessages, ApproximateNumberOfMessagesNotVisible, CreatedTimestamp, LastModifiedTimestamp, QueueArn, ApproximateNumberOfMessagesDelayed, DelaySeconds, ReceiveMessageWaitTimeSeconds]
      • *
      • Value - string - Optional - The value of a queue attribute.
      • *
    • *
    * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    /*%******************************************************************************************%*/
    

    Class: SQS_Exception extends Exception {


    File: /destinations/_s3lib/aws-sdk/services/storagegateway.class.php

    /*
     * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
     *
     * Licensed under the Apache License, Version 2.0 (the "License").
     * You may not use this file except in compliance with the License.
     * A copy of the License is located at
     *
     *  http://aws.amazon.com/apache2.0
     *
     * or in the "license" file accompanying this file. This file is distributed
     * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
     * express or implied. See the License for the specific language governing
     * permissions and limitations under the License.
     */
    
    /**
     * AWS Storage Gateway is a service that connects an on-premises software appliance with
     * cloud-based storage to provide seamless and secure integration between an organization's
     * on-premises IT environment and AWS's storage infrastructure. The service enables you to
     * securely upload data to the AWS cloud for cost effective backup and rapid disaster recovery.
     *  
     * Use the following links to get started using the AWS Storage Gateway Service API
     * Reference:
     * 
     * 
     *
     * @version 2013.01.14
     * @license See the included NOTICE.md file for complete information.
     * @copyright See the included NOTICE.md file for complete information.
     * @link http://aws.amazon.com/storagegateway/ AWS Storage Gateway
     * @link http://aws.amazon.com/storagegateway/documentation/ AWS Storage Gateway documentation
     */
    
    	/*%******************************************************************************************%*/
    
    	/**
    	 * Specify the queue URL for the United States East (Northern Virginia) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the United States East (Northern Virginia) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the United States West (Northern California) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the United States West (Northern California) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the United States West (Oregon) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the United States West (Oregon) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the Europe West (Ireland) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the Europe West (Ireland) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the Asia Pacific Southeast (Singapore) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the Asia Pacific Southeast (Singapore) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the Asia Pacific Southeast (Singapore) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the Asia Pacific Southeast (Singapore) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the Asia Pacific Northeast (Tokyo) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the Asia Pacific Northeast (Tokyo) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the South America (Sao Paulo) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the South America (Sao Paulo) Region.
    	 */
    
    	/**
    	 * Default service endpoint.
    	 */
    
    	/*%******************************************************************************************%*/
    
    	/**
    	 * Constructs a new instance of .
    	 *
    	 * @param array $options (Optional) An associative array of parameters that can have the following keys: 
      *
    • certificate_authority - boolean - Optional - Determines which Cerificate Authority file to use. A value of boolean false will use the Certificate Authority file available on the system. A value of boolean true will use the Certificate Authority provided by the SDK. Passing a file system path to a Certificate Authority file (chmodded to 0755) will use that. Leave this set to false if you're not sure.
    • *
    • credentials - string - Optional - The name of the credential set to use for authentication.
    • *
    • default_cache_config - string - Optional - This option allows a preferred storage type to be configured for long-term caching. This can be changed later using the method. Valid values are: apc, xcache, or a file system path such as ./cache or /tmp/cache/.
    • *
    • key - string - Optional - Your AWS key, or a session key. If blank, the default credential set will be used.
    • *
    • secret - string - Optional - Your AWS secret key, or a session secret key. If blank, the default credential set will be used.
    • *
    • token - string - Optional - An AWS session token.
    * @return void */
    	/*%******************************************************************************************%*/
    
    	/**
    	 * This allows you to explicitly sets the region for the service to use.
    	 *
    	 * @param string $region (Required) The region to explicitly set. Available options are , , , , , , , .
    	 * @return $this A reference to the current instance.
    	 */
    
    	/*%******************************************************************************************%*/
    
    	/**
    	 * Fetches the activation code for a gateway using its public URL.
    	 *
    	 * @param string $gateway_url (Required) The public URL to a gateway.
    	 * @return string|boolean The activation key for the gateway, or false if it could not be determined.
    	 */
    
    	/*%******************************************************************************************%*/
    
    	/**
    	 * This operation activates the gateway you previously deployed on your VMware host. For more
    	 * information, see Downloading
    	 * and Deploying AWS Storage Gateway VM. In the activation process you specify information
    	 * such as the region you want to use for storing snapshots, the time zone for scheduled snapshots
    	 * and the gateway schedule window, an activation key, and a name for your gateway. The activation
    	 * process also associates your gateway with your account (see
    	 * UpdateGatewayInformation).
    	 * 
    	 * 

    * You must power on the gateway VM before you can activate your gateway. *

    * * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • ActivationKey - string - Required - Your gateway activation key. You can obtain the activation key by sending an HTTP GET request with redirects enabled to the gateway IP address (port 80). The redirect URL returned in the response provides you the activation key for your gateway in the query string parameter activationKey. It may also include other activation-related parameters, however, these are merely defaults -- the arguments you pass to the ActivateGateway API call determine the actual configuration of your gateway.
    • *
    • GatewayName - string - Required - A unique identifier for your gateway. This name becomes part of the gateway Amazon Resources Name (ARN) which is what you use as an input to other operations. [Constraints: The value must be between 2 and 255 characters, and must match the following regular expression pattern: ^[ -\.0-\[\]-~]*[!-\.0-\[\]-~][ -\.0-\[\]-~]*$]
    • *
    • GatewayTimezone - string - Required - One of the values that indicates the time zone you want to set for the gateway. The time zone is used, for example, for scheduling snapshots and your gateway's maintenance schedule. [Allowed values: GMT-12:00, GMT-11:00, GMT-10:00, GMT-9:00, GMT-8:00, GMT-7:00, GMT-6:00, GMT-5:00, GMT-4:00, GMT-3:30, GMT-3:00, GMT-2:00, GMT-1:00, GMT, GMT+1:00, GMT+2:00, GMT+3:00, GMT+3:30, GMT+4:00, GMT+4:30, GMT+5:00, GMT+5:30, GMT+5:45, GMT+6:00, GMT+7:00, GMT+8:00, GMT+9:00, GMT+9:30, GMT+10:00, GMT+11:00, GMT+12:00]
    • *
    • GatewayRegion - string - Required - One of the values that indicates the region where you want to store the snapshot backups. The gateway region specified must be the same region as the region in your Host header in the request. For more information about available regions and endpoints for AWS Storage Gateway, see Regions and Endpoints in the Amazon Web Services Glossary. Valid Values: "us-east-1", "us-west-1", "us-west-2", "eu-west-1", "ap-northeast-1", "ap-southest-1", "sa-east-1"
    • *
    • GatewayType - string - Optional - One of the values that defines the type of gateway to activate. The type specified is critical to all later functions of the gateway and cannot be changed after activation. The default value is STORED. [Allowed values: STORED, CACHED]
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * This operation configures one or more gateway local disks as cache for a cached-volume gateway.
    	 * This operation is supported only for the gateway-cached volume architecture (see 
    	 * Storage Gateway Concepts).
    	 *  
    	 * In the request, you specify the gateway Amazon Resource Name (ARN) to which you want to add
    	 * cache, and one or more disk IDs that you want to configure as cache.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • GatewayARN - string - Required - The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation to return a list of gateways for your account and region.
    • *
    • DiskIds - string|array - Required - An array of strings that identify disks that are to be configured as cache. Each string in the array must be minimum length of 1 and maximum length of 300. You can get the disk IDs from the ListLocalDisks API. Pass a string for a single value, or an indexed array for multiple values.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * This operation configures one or more gateway local disks as upload buffer for a specified
    	 * gateway. This operation is supported for both the gateway-stored and gateway-cached volume
    	 * architectures.
    	 *  
    	 * In the request, you specify the gateway Amazon Resource Name (ARN) to which you want to add
    	 * upload buffer, and one or more disk IDs that you want to configure as upload buffer.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • GatewayARN - string - Required - The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation to return a list of gateways for your account and region.
    • *
    • DiskIds - string|array - Required - An array of strings that identify disks that are to be configured as upload buffer. Each string in the array must be minimum length of 1 and maximum length of 300. You can get disk IDs from the ListLocalDisks API. Pass a string for a single value, or an indexed array for multiple values.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * This operation configures one or more gateway local disks as working storage for a gateway.
    	 * This operation is supported only for the gateway-stored volume architecture.
    	 * 
    	 * 

    * Working storage is also referred to as upload buffer. You can also use the * AddUploadBuffer operation to add upload buffer to a stored-volume gateway. * * In the request, you specify the gateway Amazon Resource Name (ARN) to which you want to add * working storage, and one or more disk IDs that you want to configure as working storage. * * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • GatewayARN - string - Required - The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation to return a list of gateways for your account and region.
    • *
    • DiskIds - string|array - Required - An array of strings that identify disks that are to be configured as working storage. Each string have a minimum length of 1 and maximum length of 300. You can get the disk IDs from the ListLocalDisks API. Pass a string for a single value, or an indexed array for multiple values.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * This operation creates a cached volume on a specified cached gateway. This operation is
    	 * supported only for the gateway-cached volume architecture.
    	 * 
    	 * 

    * Cache storage must be allocated to the gateway before you can create a cached volume. Use the * AddCache operation to add cache storage to a gateway. *

    * In the request, you must specify the gateway, size of the volume in bytes, the iSCSI target * name, an IP address on which to expose the target, and a unique client token. In response, AWS * Storage Gateway creates the volume and returns information about it such as the volume Amazon * Resource Name (ARN), its size, and the iSCSI target ARN that initiators can use to connect to * the volume target. * * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • GatewayARN - string - Required - The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation to return a list of gateways for your account and region.
    • *
    • VolumeSizeInBytes - long - Required - The size of the cached volume.
    • *
    • SnapshotId - string - Optional - The snapshot ID (e.g., "snap-1122aabb") of the snapshot to restore as the new stored volume. Specify this field if you want to create the iSCSI cached volume from a snapshot; otherwise, do not include this field. To list snapshots for your account, use DescribeSnapshots in Amazon Elastic Compute Cloud API Reference. [Constraints: The value must match the following regular expression pattern: \Asnap-[0-9a-fA-F]{8}\z]
    • *
    • TargetName - string - Required - The name of the iSCSI target used by initiators to connect to the target and as a suffix for the target ARN. For example, specifying TargetName as myvolume results in the target ARN of arn:aws:storagegateway:us-east-1:111122223333:gateway/mygateway/target/iqn.1997-05.com.amazon:myvolume. The target name must be unique across all volumes of a gateway. [Constraints: The value must be between 1 and 200 characters, and must match the following regular expression pattern: ^[-\.;a-z0-9]+$]
    • *
    • NetworkInterfaceId - string - Required - The network interface of the gateway on which to expose the iSCSI target. Only IPv4 addresses are accepted. Use the DescribeGatewayInformation operation to get a list of the network interfaces available on the gateway. [Constraints: The value must match the following regular expression pattern: \A(25[0-5]|2[0-4]\d|[0-1]?\d?\d)(\.(25[0-5]|2[0-4]\d|[0-1]?\d?\d)){3}\z]
    • *
    • ClientToken - string - Required - A unique identifying string for the cached volume.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * This operation initiates a snapshot of a volume.
    	 *  
    	 * AWS Storage Gateway provides the ability to back up point-in-time snapshots of your data to
    	 * Amazon Simple Storage (S3) for durable off-site recovery, as well as import the data to an
    	 * Amazon Elastic Block Store (EBS) volume in Amazon Elastic Compute Cloud (EC2). You can take
    	 * snapshots of your gateway volume on a scheduled or ad-hoc basis. This API enables you to take
    	 * ad-hoc snapshot. For more information, see Working With Snapshots in the AWS
    	 * Storage Gateway Console.
    	 *  
    	 * In the CreateSnapshot request you identify the volume by providing its Amazon Resource Name
    	 * (ARN). You must also provide description for the snapshot. When AWS Storage Gateway takes the
    	 * snapshot of specified volume, the snapshot and description appears in the AWS Storage Gateway
    	 * Console. In response, AWS Storage Gateway returns you a snapshot ID. You can use this snapshot
    	 * ID to check the snapshot progress or later use it when you want to create a volume from a
    	 * snapshot.
    	 * 
    	 * 

    * To list or delete a snapshot, you must use the Amazon EC2 API. For more information, go to * * DeleteSnapshot and * DescribeSnapshots in the Amazon Elastic Compute Cloud API Reference. *

    * * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • VolumeARN - string - Required - The Amazon Resource Name (ARN) of the volume. Use the ListVolumes operation to return a list of gateway volumes.
    • *
    • SnapshotDescription - string - Required - Textual description of the snapshot that appears in the Amazon EC2 console, Elastic Block Store snapshots panel in the Description field, and in the AWS Storage Gateway snapshot Details pane, Description field
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * This operation initiates a snapshot of a gateway from a volume recovery point. This operation
    	 * is supported only for the gateway-cached volume architecture (see
    	 * StorageGatewayConcepts).
    	 *  
    	 * A volume recovery point is a point in time at which all data of the volume is consistent and
    	 * from which you can create a snapshot. To get a list of volume recovery point for gateway-cached
    	 * volumes, use ListVolumeRecoveryPoints.
    	 *  
    	 * In the CreateSnapshotFromVolumeRecoveryPoint request, you identify the volume by
    	 * providing its Amazon Resource Name (ARN). You must also provide a description for the snapshot.
    	 * When AWS Storage Gateway takes a snapshot of the specified volume, the snapshot and its
    	 * description appear in the AWS Storage Gateway console. In response, AWS Storage Gateway returns
    	 * you a snapshot ID. You can use this snapshot ID to check the snapshot progress or later use it
    	 * when you want to create a volume from a snapshot.
    	 * 
    	 * 

    * To list or delete a snapshot, you must use the Amazon EC2 API. For more information, go to * * DeleteSnapshot and * DescribeSnapshots in Amazon Elastic Compute Cloud API Reference. * * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • VolumeARN - string - Required - The Amazon Resource Name (ARN) of the volume. Use the ListVolumes operation to return a list of gateway volumes.
    • *
    • SnapshotDescription - string - Required - A textual description of the snapshot that appears in the Amazon EC2 console, Elastic Block Store snapshots panel in the Description field, and in the AWS Storage Gateway snapshot Details pane, Description field. Length: Minimum length of 1. Maximum length of 255.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * This operation creates a volume on a specified gateway. This operation is supported only for
    	 * the gateway-cached volume architecture.
    	 *  
    	 * The size of the volume to create is inferred from the disk size. You can choose to preserve
    	 * existing data on the disk, create volume from an existing snapshot, or create an empty volume.
    	 * If you choose to create an empty gateway volume, then any existing data on the disk is erased.
    	 *  
    	 * In the request you must specify the gateway and the disk information on which you are creating
    	 * the volume. In response, AWS Storage Gateway creates the volume and returns volume information
    	 * such as the volume Amazon Resource Name (ARN), its size, and the iSCSI target ARN that
    	 * initiators can use to connect to the volume target.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • GatewayARN - string - Required - The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation to return a list of gateways for your account and region.
    • *
    • DiskId - string - Required - The unique identifier for the gateway local disk that is configured as a stored volume. Use ListLocalDisks to list disk IDs for a gateway.
    • *
    • SnapshotId - string - Optional - The snapshot ID (e.g. "snap-1122aabb") of the snapshot to restore as the new stored volume. Specify this field if you want to create the iSCSI storage volume from a snapshot otherwise do not include this field. To list snapshots for your account use DescribeSnapshots in the Amazon Elastic Compute Cloud API Reference. [Constraints: The value must match the following regular expression pattern: \Asnap-[0-9a-fA-F]{8}\z]
    • *
    • PreserveExistingData - boolean - Required - Specify this field as true if you want to preserve the data on the local disk. Otherwise, specifying this field as false creates an empty volume. Valid Values: true, false
    • *
    • TargetName - string - Required - The name of the iSCSI target used by initiators to connect to the target and as a suffix for the target ARN. For example, specifying TargetName as myvolume results in the target ARN of arn:aws:storagegateway:us-east-1:111122223333:gateway/mygateway/target/iqn.1997-05.com.amazon:myvolume. The target name must be unique across all volumes of a gateway. [Constraints: The value must be between 1 and 200 characters, and must match the following regular expression pattern: ^[-\.;a-z0-9]+$]
    • *
    • NetworkInterfaceId - string - Required - The network interface of the gateway on which to expose the iSCSI target. Only IPv4 addresses are accepted. Use DescribeGatewayInformation to get a list of the network interfaces available on a gateway. Valid Values: A valid IP address. [Constraints: The value must match the following regular expression pattern: \A(25[0-5]|2[0-4]\d|[0-1]?\d?\d)(\.(25[0-5]|2[0-4]\d|[0-1]?\d?\d)){3}\z]
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * This operation deletes the bandwidth rate limits of a gateway. You can delete either the upload
    	 * and download bandwidth rate limit, or you can delete both. If you delete only one of the
    	 * limits, the other limit remains unchanged. To specify which gateway to work with, use the
    	 * Amazon Resource Name (ARN) of the gateway in your request.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • GatewayARN - string - Required - The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation to return a list of gateways for your account and region.
    • *
    • BandwidthType - string - Required - One of the BandwidthType values that indicates the gateway bandwidth rate limit to delete. Valid Values: Upload, Download, All [Allowed values: UPLOAD, DOWNLOAD, ALL]
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * This operation deletes Challenge-Handshake Authentication Protocol (CHAP) credentials for a
    	 * specified iSCSI target and initiator pair.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • TargetARN - string - Required - The Amazon Resource Name (ARN) of the iSCSI volume target. Use the DescribeStorediSCSIVolumes operation to return to retrieve the TargetARN for specified VolumeARN.
    • *
    • InitiatorName - string - Required - The iSCSI initiator that connects to the target. [Constraints: The value must be between 1 and 255 characters, and must match the following regular expression pattern: [0-9a-z:.-]+]
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * This operation deletes a gateway. To specify which gateway to delete, use the Amazon Resource
    	 * Name (ARN) of the gateway in your request. The operation deletes the gateway; however, it does
    	 * not delete the gateway virtual machine (VM) from your host computer.
    	 *  
    	 * After you delete a gateway, you cannot reactivate it. Completed snapshots of the gateway
    	 * volumes are not deleted upon deleting the gateway, however, pending snapshots will not
    	 * complete. After you delete a gateway, your next step is to remove it from your environment.
    	 * 
    	 * 

    * You no longer pay software charges after the gateway is deleted; however, your existing Amazon * EBS snapshots persist and you will continue to be billed for these snapshots. You * can choose to remove all remaining Amazon EBS snapshots by canceling your Amazon EC2 * subscription.  If you prefer not to cancel your Amazon EC2 subscription, you can * delete your snapshots using the Amazon EC2 console. For more information, see the AWS Storage Gateway Detail Page. * * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • GatewayARN - string - Required - The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation to return a list of gateways for your account and region.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * This operation deletes a snapshot of a volume.
    	 *  
    	 * You can take snapshots of your gateway volumes on a scheduled or ad-hoc basis. This API enables
    	 * you to delete a snapshot schedule for a volume. For more information, see Working
    	 * with Snapshots. In the DeleteSnapshotSchedule request, you identify the volume
    	 * by providing its Amazon Resource Name (ARN).
    	 * 
    	 * 

    * To list or delete a snapshot, you must use the Amazon EC2 API. For more information, go to * * DeleteSnapshot and * DescribeSnapshots in Amazon Elastic Compute Cloud API Reference. * * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • VolumeARN - string - Required - The Amazon Resource Name (ARN) of the volume. Use the ListVolumes operation to return a list of gateway volumes.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * This operation delete the specified gateway volume that you previously created using the
    	 * CreateStorediSCSIVolume API. For gateway-stored volumes, the local disk that was
    	 * configured as the storage volume is not deleted. You can reuse the local disk to create another
    	 * storage volume.
    	 *  
    	 * Before you delete a gateway volume, make sure there are no iSCSI connections to the volume you
    	 * are deleting. You should also make sure there is no snapshot in progress. You can use the
    	 * Amazon Elastic Compute Cloud (Amazon EC2) API to query snapshots on the volume you are deleting
    	 * and check the snapshot status. For more information, go to 
    	 * DescribeSnapshots in the Amazon Elastic Compute Cloud API Reference.
    	 *  
    	 * In the request, you must provide the Amazon Resource Name (ARN) of the storage volume you want
    	 * to delete.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • VolumeARN - string - Required - The Amazon Resource Name (ARN) of the volume. Use the ListVolumes operation to return a list of gateway volumes.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * This operation returns the bandwidth rate limits of a gateway. By default, these limits are not
    	 * set, which means no bandwidth rate limiting is in effect.
    	 *  
    	 * This operation only returns a value for a bandwidth rate limit only if the limit is set. If no
    	 * limits are set for the gateway, then this operation returns only the gateway ARN in the
    	 * response body. To specify which gateway to describe, use the Amazon Resource Name (ARN) of the
    	 * gateway in your request.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • GatewayARN - string - Required - The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation to return a list of gateways for your account and region.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * This operation returns information about the cache of a gateway. This operation is supported
    	 * only for the gateway-cached volume architecture.
    	 *  
    	 * The response includes disk IDs that are configured as cache, and it includes the amount of
    	 * cache allocated and used.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • GatewayARN - string - Required - The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation to return a list of gateways for your account and region.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * This operation returns a description of the gateway volumes specified in the request. This
    	 * operation is supported only for the gateway-cached volume architecture.
    	 *  
    	 * The list of gateway volumes in the request must be from one gateway. In the response Amazon
    	 * Storage Gateway returns volume information sorted by volume Amazon Resource Name (ARN).
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • VolumeARNs - string|array - Required - An array of strings, where each string represents the Amazon Resource Name (ARN) of a cached volume. All of the specified cached volumes must be from the same gateway. Use ListVolumes to get volume ARNs of a gateway. Pass a string for a single value, or an indexed array for multiple values.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * This operation returns an array of Challenge-Handshake Authentication Protocol (CHAP)
    	 * credentials information for a specified iSCSI target, one for each target-initiator pair.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • TargetARN - string - Required - The Amazon Resource Name (ARN) of the iSCSI volume target. Use the DescribeStorediSCSIVolumes operation to return to retrieve the TargetARN for specified VolumeARN.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * This operation returns metadata about a gateway such as its name, network interfaces,
    	 * configured time zone, and the state (whether the gateway is running or not). To specify which
    	 * gateway to describe, use the Amazon Resource Name (ARN) of the gateway in your request.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • GatewayARN - string - Required - The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation to return a list of gateways for your account and region.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * This operation returns your gateway's weekly maintenance start time including the day and time
    	 * of the week. Note that values are in terms of the gateway's time zone.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • GatewayARN - string - Required - The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation to return a list of gateways for your account and region.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * This operation describes the snapshot schedule for the specified gateway volume. The snapshot
    	 * schedule information includes intervals at which snapshots are automatically initiated on the
    	 * volume.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • VolumeARN - string - Required - The Amazon Resource Name (ARN) of the volume. Use the ListVolumes operation to return a list of gateway volumes.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * This operation returns description of the gateway volumes specified in the request. The list of
    	 * gateway volumes in the request must be from one gateway. In the response Amazon Storage Gateway
    	 * returns volume information sorted by volume ARNs.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • VolumeARNs - string|array - Required - An array of strings where each string represents the Amazon Resource Name (ARN) of a stored volume. All of the specified stored volumes must from the same gateway. Use ListVolumes to get volume ARNs for a gateway. Pass a string for a single value, or an indexed array for multiple values.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * This operation returns information about the upload buffer of a gateway. This operation is
    	 * supported for both the gateway-stored and gateway-cached volume architectures.
    	 *  
    	 * The response includes disk IDs that are configured as upload buffer space, and it includes the
    	 * amount of upload buffer space allocated and used.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • GatewayARN - string - Required - The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation to return a list of gateways for your account and region.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * This operation returns information about the working storage of a gateway. This operation is
    	 * supported only for the gateway-stored volume architecture.
    	 * 
    	 * 

    * Working storage is also referred to as upload buffer. You can also use the * DescribeUploadBuffer operation to add upload buffer to a stored-volume gateway. * * The response includes disk IDs that are configured as working storage, and it includes the * amount of working storage allocated and used. * * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • GatewayARN - string - Required - The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation to return a list of gateways for your account and region.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * This operation lists gateways owned by an AWS account in a region specified in the request. The
    	 * returned list is ordered by gateway Amazon Resource Name (ARN).
    	 *  
    	 * By default, the operation returns a maximum of 100 gateways. This operation supports pagination
    	 * that allows you to optionally reduce the number of gateways returned in a response.
    	 *  
    	 * If you have more gateways than are returned in a response-that is, the response returns only a
    	 * truncated list of your gateways-the response contains a marker that you can specify in your
    	 * next request to fetch the next page of gateways.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • Marker - string - Optional - An opaque string that indicates the position at which to begin the returned list of gateways.
    • *
    • Limit - integer - Optional - Specifies that the list of gateways returned be limited to the specified number of items.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * This operation returns a list of the local disks of a gateway. To specify which gateway to
    	 * describe you use the Amazon Resource Name (ARN) of the gateway in the body of the request.
    	 *  
    	 * The request returns all disks, specifying which are configured as working storage, stored
    	 * volume or not configured at all.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • GatewayARN - string - Required - The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation to return a list of gateways for your account and region.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * This operation lists the recovery points for a specified gateway. This operation is supported
    	 * only for the gateway-cached volume architecture.
    	 *  
    	 * Each gateway-cached volume has one recovery point. A volume recovery point is a point in time
    	 * at which all data of the volume is consistent and from which you can create a snapshot. To
    	 * create a snapshot from a volume recovery point use the
    	 * CreateSnapshotFromVolumeRecoveryPoint operation.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • GatewayARN - string - Required - The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation to return a list of gateways for your account and region.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * This operation lists the iSCSI stored volumes of a gateway. Results are sorted by volume ARN.
    	 * The response includes only the volume ARNs. If you want additional volume information, use the
    	 * DescribeStorediSCSIVolumes API.
    	 *  
    	 * The operation supports pagination. By default, the operation returns a maximum of up to 100
    	 * volumes. You can optionally specify the Limit field in the body to limit the
    	 * number of volumes in the response. If the number of volumes returned in the response is
    	 * truncated, the response includes a Marker field. You can use this Marker value in your
    	 * subsequent request to retrieve the next set of volumes.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • GatewayARN - string - Required - The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation to return a list of gateways for your account and region.
    • *
    • Marker - string - Optional - A string that indicates the position at which to begin the returned list of volumes. Obtain the marker from the response of a previous List iSCSI Volumes request.
    • *
    • Limit - integer - Optional - Specifies that the list of volumes returned be limited to the specified number of items.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * This operation shuts down a gateway. To specify which gateway to shut down, use the Amazon
    	 * Resource Name (ARN) of the gateway in the body of your request.
    	 *  
    	 * The operation shuts down the gateway service component running in the storage gateway's virtual
    	 * machine (VM) and not the VM.
    	 * 
    	 * 

    * If you want to shut down the VM, it is recommended that you first shut down the gateway * component in the VM to avoid unpredictable conditions. *

    * After the gateway is shutdown, you cannot call any other API except StartGateway, * DescribeGatewayInformation, and ListGateways. For more information, * see ActivateGateway. Your applications cannot read from or write to the gateway's * storage volumes, and there are no snapshots taken. * *

    * When you make a shutdown request, you will get a 200 OK success response * immediately. However, it might take some time for the gateway to shut down. You can call the * DescribeGatewayInformation API to check the status. For more information, see * ActivateGateway. *

    * If do not intend to use the gateway again, you must delete the gateway (using * DeleteGateway) to no longer pay software charges associated with the gateway. * * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • GatewayARN - string - Required - The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation to return a list of gateways for your account and region.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * This operation starts a gateway that you previously shut down (see
    	 * ShutdownGateway). After the gateway starts, you can then make other API calls,
    	 * your applications can read from or write to the gateway's storage volumes and you will be able
    	 * to take snapshot backups.
    	 * 
    	 * 

    * When you make a request, you will get a 200 OK success response immediately. However, it might * take some time for the gateway to be ready. You should call * DescribeGatewayInformation and check the status before making any additional API * calls. For more information, see ActivateGateway. *

    * To specify which gateway to start, use the Amazon Resource Name (ARN) of the gateway in your * request. * * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • GatewayARN - string - Required - The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation to return a list of gateways for your account and region.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * This operation updates the bandwidth rate limits of a gateway. You can update both the upload
    	 * and download bandwidth rate limit or specify only one of the two. If you don't set a bandwidth
    	 * rate limit, the existing rate limit remains.
    	 *  
    	 * By default, a gateway's bandwidth rate limits are not set. If you don't set any limit, the
    	 * gateway does not have any limitations on its bandwidth usage and could potentially use the
    	 * maximum available bandwidth.
    	 *  
    	 * To specify which gateway to update, use the Amazon Resource Name (ARN) of the gateway in your
    	 * request.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • GatewayARN - string - Required - The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation to return a list of gateways for your account and region.
    • *
    • AverageUploadRateLimitInBitsPerSec - long - Optional - The average upload bandwidth rate limit in bits per second.
    • *
    • AverageDownloadRateLimitInBitsPerSec - long - Optional - The average download bandwidth rate limit in bits per second.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * This operation updates the Challenge-Handshake Authentication Protocol (CHAP) credentials for a
    	 * specified iSCSI target. By default, a gateway does not have CHAP enabled; however, for added
    	 * security, you might use it.
    	 * 
    	 * 

    * When you update CHAP credentials, all existing connections on the target are closed and * initiators must reconnect with the new credentials. * * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • TargetARN - string - Required - The Amazon Resource Name (ARN) of the iSCSI volume target. Use the DescribeStorediSCSIVolumes operation to return to retrieve the TargetARN for specified VolumeARN.
    • *
    • SecretToAuthenticateInitiator - string - Required - The secret key that the initiator (e.g. Windows client) must provide to participate in mutual CHAP with the target.
    • *
    • InitiatorName - string - Required - The iSCSI initiator that connects to the target. [Constraints: The value must be between 1 and 255 characters, and must match the following regular expression pattern: [0-9a-z:.-]+]
    • *
    • SecretToAuthenticateTarget - string - Optional - The secret key that the target must provide to participate in mutual CHAP with the initiator (e.g. Windows client).
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * This operation updates a gateway's metadata, which includes the gateway's name and time zone.
    	 * To specify which gateway to update, use the Amazon Resource Name (ARN) of the gateway in your
    	 * request.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • GatewayARN - string - Required - The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation to return a list of gateways for your account and region.
    • *
    • GatewayName - string - Optional - A unique identifier for your gateway. This name becomes part of the gateway Amazon Resources Name (ARN) which is what you use as an input to other operations. [Constraints: The value must be between 2 and 255 characters, and must match the following regular expression pattern: ^[ -\.0-\[\]-~]*[!-\.0-\[\]-~][ -\.0-\[\]-~]*$]
    • *
    • GatewayTimezone - string - Optional - One of the GatewayTimezone values that represents the time zone for your gateway. The time zone is used, for example, when a time stamp is given to a snapshot. [Allowed values: GMT-12:00, GMT-11:00, GMT-10:00, GMT-9:00, GMT-8:00, GMT-7:00, GMT-6:00, GMT-5:00, GMT-4:00, GMT-3:30, GMT-3:00, GMT-2:00, GMT-1:00, GMT, GMT+1:00, GMT+2:00, GMT+3:00, GMT+3:30, GMT+4:00, GMT+4:30, GMT+5:00, GMT+5:30, GMT+5:45, GMT+6:00, GMT+7:00, GMT+8:00, GMT+9:00, GMT+9:30, GMT+10:00, GMT+11:00, GMT+12:00]
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * This operation updates the gateway virtual machine (VM) software. The request immediately
    	 * triggers the software update.
    	 * 
    	 * 

    * When you make this request, you get a 200 OK success response immediately. * However, it might take some time for the update to complete. You can call * DescribeGatewayInformation to verify the gateway is in the * STATE_RUNNING state. *

    *

    * A software update forces a system restart of your gateway. You can minimize the chance of any * disruption to your applications by increasing your iSCSI Initiators' timeouts. For more * information about increasing iSCSI Initiator timeouts for Windows and Linux, see * Customizing Your Windows iSCSI Settings and * Customizing Your Linux iSCSI Settings, respectively. *

    * * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • GatewayARN - string - Required - The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation to return a list of gateways for your account and region.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * This operation updates a gateway's weekly maintenance start time information, including day and
    	 * time of the week. The maintenance time is the time in your gateway's time zone.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • GatewayARN - string - Required - The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation to return a list of gateways for your account and region.
    • *
    • HourOfDay - integer - Required - The hour component of the maintenance start time represented as hh, wherehh is the hour (00 to 23). The hour of the day is in the time zone of the gateway.
    • *
    • MinuteOfHour - integer - Required - The minute component of the maintenance start time represented as mm, where mm is the minute (00 to 59). The minute of the hour is in the time zone of the gateway.
    • *
    • DayOfWeek - integer - Required - The maintenance start time day of the week.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * This operation updates a snapshot schedule configured for a gateway volume.
    	 *  
    	 * The default snapshot schedule for volume is once every 24 hours, starting at the creation time
    	 * of the volume. You can use this API to change the shapshot schedule configured for the volume.
    	 *  
    	 * In the request you must identify the gateway volume whose snapshot schedule you want to update,
    	 * and the schedule information, including when you want the snapshot to begin on a day and the
    	 * frequency (in hours) of snapshots.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • VolumeARN - string - Required - The Amazon Resource Name (ARN) of the volume. Use the ListVolumes operation to return a list of gateway volumes.
    • *
    • StartAt - integer - Required - The hour of the day at which the snapshot schedule begins represented as hh, where hh is the hour (0 to 23). The hour of the day is in the time zone of the gateway.
    • *
    • RecurrenceInHours - integer - Required - Frequency of snapshots. Specify the number of hours between snapshots.
    • *
    • Description - string - Optional - Optional description of the snapshot that overwrites the existing description.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    /*%******************************************************************************************%*/
    

    Class: StorageGateway_Exception extends Exception {


    File: /destinations/_s3lib/aws-sdk/services/sts.class.php

    /*
     * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
     *
     * Licensed under the Apache License, Version 2.0 (the "License").
     * You may not use this file except in compliance with the License.
     * A copy of the License is located at
     *
     *  http://aws.amazon.com/apache2.0
     *
     * or in the "license" file accompanying this file. This file is distributed
     * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
     * express or implied. See the License for the specific language governing
     * permissions and limitations under the License.
     */
    
    /**
     * The AWS Security Token Service is a web service that enables you to request temporary,
     * limited-privilege credentials for AWS Identity and Access Management (IAM) users or for users
     * that you authenticate (federated users). This guide provides descriptions of the AWS Security
     * Token Service API.
     *  
     * For more detailed information about using this service, go to Using
     * Temporary Security Credentials.
     *  
     * For information about setting up signatures and authorization through the API, go to Signing AWS API Requests in the AWS General Reference. For general
     * information about the Query API, go to Making Query Requests in Using IAM. For information about using security
     * tokens with other AWS products, go to Using Temporary
     * Security Credentials to Access AWS in Using Temporary Security Credentials.
     *  
     * If you're new to AWS and need additional technical information about a specific AWS product,
     * you can find the product'stechnical documentation at http://aws.amazon.com/documentation/.
     *  
     * We will refer to Amazon Identity and Access Management using the abbreviated form IAM. All
     * copyrights and legal protections still apply.
     *
     * @version 2013.01.14
     * @license See the included NOTICE.md file for complete information.
     * @copyright See the included NOTICE.md file for complete information.
     * @link http://aws.amazon.com/sts/ Amazon Secure Token Service
     * @link http://aws.amazon.com/sts/documentation/ Amazon Secure Token Service documentation
     */
    
    	/*%******************************************************************************************%*/
    
    	/**
    	 * Specify the queue URL for the United States East (Northern Virginia) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the United States East (Northern Virginia) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the United States GovCloud Region.
    	 */
    
    	/**
    	 * Default service endpoint.
    	 */
    
    	/*%******************************************************************************************%*/
    
    	/**
    	 * Constructs a new instance of .
    	 *
    	 * @param array $options (Optional) An associative array of parameters that can have the following keys: 
      *
    • certificate_authority - boolean - Optional - Determines which Cerificate Authority file to use. A value of boolean false will use the Certificate Authority file available on the system. A value of boolean true will use the Certificate Authority provided by the SDK. Passing a file system path to a Certificate Authority file (chmodded to 0755) will use that. Leave this set to false if you're not sure.
    • *
    • credentials - string - Optional - The name of the credential set to use for authentication.
    • *
    • default_cache_config - string - Optional - This option allows a preferred storage type to be configured for long-term caching. This can be changed later using the method. Valid values are: apc, xcache, or a file system path such as ./cache or /tmp/cache/.
    • *
    • key - string - Optional - Your AWS key, or a session key. If blank, the default credential set will be used.
    • *
    • secret - string - Optional - Your AWS secret key, or a session secret key. If blank, the default credential set will be used.
    • *
    • token - string - Optional - An AWS session token.
    * @return void */
    	/*%******************************************************************************************%*/
    
    	/**
    	 * This allows you to explicitly sets the region for the service to use.
    	 *
    	 * @param string $region (Required) The region to explicitly set. Available options are , .
    	 * @return $this A reference to the current instance.
    	 */
    
    	/*%******************************************************************************************%*/
    
    	/**
    	 * The AssumeRole action returns a set of temporary security credentials that you can
    	 * use to access resources that are defined in the role's policy. The returned credentials consist
    	 * of an Access Key ID, a Secret Access Key, and a security token.
    	 *  
    	 * Important: Only IAM users can assume a role. If you use AWS account
    	 * credentials to call AssumeRole, access is denied.
    	 *  
    	 * The credentials are valid for the duration that you specified when calling
    	 * AssumeRole, which can be from 15 minutes to 1 hour.
    	 *  
    	 * When you assume a role, you have the privileges that are defined in the role. You can further
    	 * restrict the privileges by passing a policy when calling AssumeRole.
    	 *  
    	 * To assume a role, you must be an IAM user from a trusted entity and have permission to call
    	 * AssumeRole. Trusted entites are defined when the IAM role is created. Permission
    	 * to call AssumeRole is defined in your or your group's IAM policy.
    	 *
    	 * @param string $role_arn (Required) The Amazon Resource Name (ARN) of the role that the caller is assuming.
    	 * @param string $role_session_name (Required) An identifier for the assumed role session. The session name is included as part of the AssumedRoleUser. [Constraints: The value must be between 2 and 32 characters, and must match the following regular expression pattern: [\w+=,.@-]*]
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • Policy - string - Optional - A supplemental policy that can be associated with the temporary security credentials. The caller can restrict the permissions that are available on the role's temporary security credentials to maintain the least amount of privileges. When a service call is made with the temporary security credentials, both the role's permission policy and supplemental policy are checked. For more information about how permissions work in the context of temporary credentials, see Controlling Permissions in Temporary Credentials. [Constraints: The value must be between 1 and 2048 characters, and must match the following regular expression pattern: [\u0009\u000A\u000D\u0020-\u00FF]+]
    • *
    • DurationSeconds - integer - Optional - The duration, in seconds, of the role session. The value can range from 900 seconds (15 minutes) to 3600 seconds (1 hour). By default, the value is set to 3600 seconds (1 hour).
    • *
    • ExternalId - string - Optional - A unique identifier that is generated by a third party for each of their customers. For each role that the third party can assume, they should instruct their customers to create a role with the external ID that was generated by the third party. Each time the third party assumes the role, they must pass the customer's correct external ID. The external ID is useful in order to help third parties bind a role to the customer who created it. For more information about the external ID, see About the External ID in Using Temporary Security Credentials. [Constraints: The value must be between 2 and 96 characters, and must match the following regular expression pattern: [\w+=,.@:-]*]
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * The GetFederationToken action returns a set of temporary credentials for a federated user with
    	 * the user name and policy specified in the request. The credentials consist of an Access Key ID,
    	 * a Secret Access Key, and a security token. Credentials created by IAM users are valid for the
    	 * specified duration, between 15 minutes and 36 hours; credentials created using account
    	 * credentials have a maximum duration of one hour.
    	 *  
    	 * The federated user who holds these credentials has any permissions allowed by the intersection
    	 * of the specified policy and any resource or user policies that apply to the caller of the
    	 * GetFederationToken API, and any resource policies that apply to the federated user's Amazon
    	 * Resource Name (ARN). For more information about how token permissions work, see Controlling Permissions in Temporary Credentials in Using IAM. For
    	 * information about using GetFederationToken to create temporary credentials, see Creating Temporary Credentials to Enable Access for Federated Users in Using
    	 * IAM.
    	 *
    	 * @param string $name (Required) The name of the federated user associated with the credentials. For information about limitations on user names, go to Limitations on IAM Entities in Using IAM. [Constraints: The value must be between 2 and 32 characters, and must match the following regular expression pattern: [\w+=,.@-]*]
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • Policy - string - Optional - A policy specifying the permissions to associate with the credentials. The caller can delegate their own permissions by specifying a policy, and both policies will be checked when a service call is made. For more information about how permissions work in the context of temporary credentials, see Controlling Permissions in Temporary Credentials in Using IAM. [Constraints: The value must be between 1 and 2048 characters, and must match the following regular expression pattern: [\u0009\u000A\u000D\u0020-\u00FF]+]
    • *
    • DurationSeconds - integer - Optional - The duration, in seconds, that the session should last. Acceptable durations for federation sessions range from 900s (15 minutes) to 129600s (36 hours), with 43200s (12 hours) as the default. Sessions for AWS account owners are restricted to a maximum of 3600s (one hour). If the duration is longer than one hour, the session for AWS account owners defaults to one hour.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * The GetSessionToken action returns a set of temporary credentials for an AWS account or IAM
    	 * user. The credentials consist of an Access Key ID, a Secret Access Key, and a security token.
    	 * These credentials are valid for the specified duration only. The session duration for IAM users
    	 * can be between 15 minutes and 36 hours, with a default of 12 hours. The session duration for
    	 * AWS account owners is restricted to a maximum of one hour. Providing the AWS Multi-Factor
    	 * Authentication (MFA) device serial number and the token code is optional.
    	 *  
    	 * For more information about using GetSessionToken to create temporary credentials, go to
    	 * 	Creating Temporary Credentials to Enable Access for IAM Users in Using
    	 * IAM.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • DurationSeconds - integer - Optional - The duration, in seconds, that the credentials should remain valid. Acceptable durations for IAM user sessions range from 900s (15 minutes) to 129600s (36 hours), with 43200s (12 hours) as the default. Sessions for AWS account owners are restricted to a maximum of 3600s (one hour). If the duration is longer than one hour, the session for AWS account owners defaults to one hour.
    • *
    • SerialNumber - string - Optional - The identification number of the MFA device for the user. If the IAM user has a policy requiring MFA authentication (or is in a group requiring MFA authentication) to access resources, provide the device value here. The value is in the Security Credentials tab of the user's details pane in the IAM console. If the IAM user has an active MFA device, the details pane displays a Multi-Factor Authentication Device value. The value is either for a virtual device, such as arn:aws:iam::123456789012:mfa/user, or it is the device serial number for a hardware device (usually the number from the back of the device), such as GAHT12345678. For more information, see Using Multi-Factor Authentication (MFA) Devices with AWS in Using IAM. [Constraints: The value must be between 9 and 256 characters, and must match the following regular expression pattern: [\w+=/:,.@-]*]
    • *
    • TokenCode - string - Optional - The value provided by the MFA device. If the user has an access policy requiring an MFA code (or is in a group requiring an MFA code), provide the value here to get permission to resources as specified in the access policy. If MFA authentication is required, and the user does not provide a code when requesting a set of temporary security credentials, the user will receive an "access denied" response when requesting resources that require MFA authentication. For more information, see Using Multi-Factor Authentication (MFA) Devices with AWS in Using IAM. [Constraints: The value must be between 6 and 6 characters, and must match the following regular expression pattern: [\d]*]
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    /*%******************************************************************************************%*/
    

    Class: STS_Exception extends Exception {


    File: /destinations/_s3lib/aws-sdk/services/swf.class.php

    /*
     * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
     *
     * Licensed under the Apache License, Version 2.0 (the "License").
     * You may not use this file except in compliance with the License.
     * A copy of the License is located at
     *
     *  http://aws.amazon.com/apache2.0
     *
     * or in the "license" file accompanying this file. This file is distributed
     * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
     * express or implied. See the License for the specific language governing
     * permissions and limitations under the License.
     */
    
    /**
     * The Amazon Simple Workflow Service API Reference is intended for programmers who need detailed
     * information about the Amazon SWF actions and data types.
     *  
     * For an broader overview of the Amazon SWF programming model, please go to the Amazon SWF Developer Guide.
     *  
     * This section provides an overview of Amazon SWF actions.
     *  
     * Action Categories
     *  
     * The Amazon SWF actions can be grouped into the following major categories.
     * 
     * 
      *
    • Actions related to Activities
    • *
    • Actions related to Deciders
    • *
    • Actions related to Workflow Executions
    • *
    • Actions related to Administration
    • *
    • Actions related to Visibility
    • *
    * * Actions related to Activities * * The following are actions that are performed by activity workers: * * * * Activity workers use the PollForActivityTask to get new activity tasks. After a worker * receives an activity task from Amazon SWF, it performs the task and responds using RespondActivityTaskCompleted if successful or RespondActivityTaskFailed if unsuccessful. * * Actions related to Deciders * * The following are actions that are performed by deciders: * * * * Deciders use PollForDecisionTask to get decision tasks. After a decider receives a * decision task from Amazon SWF, it examines its workflow execution history and decides what to * do next. It calls RespondDecisionTaskCompleted to complete the decision task * and provide zero or more next decisions. * * Actions related to Workflow Executions * * The following actions operate on a workflow execution: * * * * Actions related to Administration * * Although you can perform administrative tasks from the Amazon SWF console, you can use the * actions in this section to automate functions or build your own administrative tools. * * Activity Management * * * * Workflow Management * * * * Domain Management * * * * Workflow Execution Management * * * * Visibility Actions * * Although you can perform visibility actions from the Amazon SWF console, you can use the * actions in this section to build your own console or administrative tools. * * Activity Visibility * * * * Workflow Visibility * * * * Workflow Execution Visibility * * * * Domain Visibility * * * * Task List Visibility * * * * @version 2013.02.21 * @license See the included NOTICE.md file for complete information. * @copyright See the included NOTICE.md file for complete information. * @link http://aws.amazon.com/simpleworkflow/ Amazon Simple Workflow * @link http://aws.amazon.com/simpleworkflow/documentation/ Amazon Simple Workflow documentation */
    	/*%******************************************************************************************%*/
    
    	/**
    	 * Specify the queue URL for the United States East (Northern Virginia) Region.
    	 */
    
    	/**
    	 * Specify the queue URL for the United States East (Northern Virginia) Region.
    	 */
    
    	/**
    	 * Default service endpoint.
    	 */
    
    	/*%******************************************************************************************%*/
    
    	/**
    	 * Status: Registered
    	 */
    
    	/**
    	 * Status: Deprecated
    	 */
    
    	/*%******************************************************************************************%*/
    
    	/**
    	 * Policy: Terminate
    	 */
    
    	/**
    	 * Policy: Request Cancel
    	 */
    
    	/**
    	 * Policy: Abandon
    	 */
    
    	/*%******************************************************************************************%*/
    
    	/**
    	 * Constructs a new instance of .
    	 *
    	 * @param array $options (Optional) An associative array of parameters that can have the following keys: 
      *
    • certificate_authority - boolean - Optional - Determines which Cerificate Authority file to use. A value of boolean false will use the Certificate Authority file available on the system. A value of boolean true will use the Certificate Authority provided by the SDK. Passing a file system path to a Certificate Authority file (chmodded to 0755) will use that. Leave this set to false if you're not sure.
    • *
    • credentials - string - Optional - The name of the credential set to use for authentication.
    • *
    • default_cache_config - string - Optional - This option allows a preferred storage type to be configured for long-term caching. This can be changed later using the method. Valid values are: apc, xcache, or a file system path such as ./cache or /tmp/cache/.
    • *
    • key - string - Optional - Your AWS key, or a session key. If blank, the default credential set will be used.
    • *
    • secret - string - Optional - Your AWS secret key, or a session secret key. If blank, the default credential set will be used.
    • *
    • token - string - Optional - An AWS session token.
    * @return void */
    	/*%******************************************************************************************%*/
    
    	/**
    	 * This allows you to explicitly sets the region for the service to use.
    	 *
    	 * @param string $region (Required) The region to explicitly set. Available options are .
    	 * @return $this A reference to the current instance.
    	 */
    
    	/*%******************************************************************************************%*/
    
    	/**
    	 * Returns the number of closed workflow executions within the given domain that meet the
    	 * specified filtering criteria.
    	 * 
    	 * 

    * This operation is eventually consistent. The results are best effort and may not exactly * reflect recent updates and changes. *

    * Access Control * * You can use IAM policies to control this action's access to Amazon SWF resources as follows: * *
      *
    • Use a Resource element with the domain name to limit the action to only * specified domains.
    • *
    • Use an Action element to allow or deny permission to call this action.
    • *
    • Constrain the following parameters by using a Condition element with the * appropriate keys. *
        *
      • tag: String constraint. The key is swf:tagFilter.tag.
      • *
      • typeFilter.name: String constraint. String constraint. The key is * swf:typeFilter.name.
      • *
      • typeFilter.version: String constraint. String constraint. The key is * swf:typeFilter.version.
      • *
    • *
    * * If the caller does not have sufficient permissions to invoke the action, or the parameter * values fall outside the specified constraints, the action fails by throwing * OperationNotPermitted. For details and example IAM policies, see Using IAM to * Manage Access to Amazon SWF Workflows. * * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • domain - string - Required - The name of the domain containing the workflow executions to count.
    • *
    • startTimeFilter - array - Optional - If specified, only workflow executions that meet the start time criteria of the filter are counted.

      startTimeFilter and closeTimeFilter are mutually exclusive. You must specify one of these in a request but not both.

        *
      • oldestDate - string - Required - Specifies the oldest start or close date and time to return. May be passed as a number of seconds since UNIX Epoch, or any string compatible with .
      • *
      • latestDate - string - Optional - Specifies the latest start or close date and time to return. May be passed as a number of seconds since UNIX Epoch, or any string compatible with .
      • *
    • *
    • closeTimeFilter - array - Optional - If specified, only workflow executions that meet the close time criteria of the filter are counted.

      startTimeFilter and closeTimeFilter are mutually exclusive. You must specify one of these in a request but not both.

        *
      • oldestDate - string - Required - Specifies the oldest start or close date and time to return. May be passed as a number of seconds since UNIX Epoch, or any string compatible with .
      • *
      • latestDate - string - Optional - Specifies the latest start or close date and time to return. May be passed as a number of seconds since UNIX Epoch, or any string compatible with .
      • *
    • *
    • executionFilter - array - Optional - If specified, only workflow executions matching the WorkflowId in the filter are counted.

      closeStatusFilter, executionFilter, typeFilter and tagFilter are mutually exclusive. You can specify at most one of these in a request.

        *
      • workflowId - string - Required - The workflowId to pass of match the criteria of this filter.
      • *
    • *
    • typeFilter - array - Optional - If specified, indicates the type of the workflow executions to be counted.

      closeStatusFilter, executionFilter, typeFilter and tagFilter are mutually exclusive. You can specify at most one of these in a request.

        *
      • name - string - Required - Name of the workflow type. This field is required.
      • *
      • version - string - Optional - Version of the workflow type.
      • *
    • *
    • tagFilter - array - Optional - If specified, only executions that have a tag that matches the filter are counted.

      closeStatusFilter, executionFilter, typeFilter and tagFilter are mutually exclusive. You can specify at most one of these in a request.

        *
      • tag - string - Required - Specifies the tag that must be associated with the execution for it to meet the filter criteria. This field is required.
      • *
    • *
    • closeStatusFilter - array - Optional - If specified, only workflow executions that match this close status are counted. This filter has an affect only if executionStatus is specified as CLOSED.

      closeStatusFilter, executionFilter, typeFilter and tagFilter are mutually exclusive. You can specify at most one of these in a request.

        *
      • status - string - Required - The close status that must match the close status of an execution for it to meet the criteria of this filter. This field is required. [Allowed values: COMPLETED, FAILED, CANCELED, TERMINATED, CONTINUED_AS_NEW, TIMED_OUT]
      • *
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Returns the number of open workflow executions within the given domain that meet the specified
    	 * filtering criteria.
    	 * 
    	 * 

    * This operation is eventually consistent. The results are best effort and may not exactly * reflect recent updates and changes. *

    * Access Control * * You can use IAM policies to control this action's access to Amazon SWF resources as follows: * *
      *
    • Use a Resource element with the domain name to limit the action to only * specified domains.
    • *
    • Use an Action element to allow or deny permission to call this action.
    • *
    • Constrain the following parameters by using a Condition element with the * appropriate keys. *
        *
      • tag: String constraint. The key is swf:tagFilter.tag.
      • *
      • typeFilter.name: String constraint. String constraint. The key is * swf:typeFilter.name.
      • *
      • typeFilter.version: String constraint. String constraint. The key is * swf:typeFilter.version.
      • *
    • *
    * * If the caller does not have sufficient permissions to invoke the action, or the parameter * values fall outside the specified constraints, the action fails by throwing * OperationNotPermitted. For details and example IAM policies, see Using IAM to * Manage Access to Amazon SWF Workflows. * * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • domain - string - Required - The name of the domain containing the workflow executions to count.
    • *
    • startTimeFilter - array - Required - Specifies the start time criteria that workflow executions must meet in order to be counted.
        *
      • oldestDate - string - Required - Specifies the oldest start or close date and time to return. May be passed as a number of seconds since UNIX Epoch, or any string compatible with .
      • *
      • latestDate - string - Optional - Specifies the latest start or close date and time to return. May be passed as a number of seconds since UNIX Epoch, or any string compatible with .
      • *
    • *
    • typeFilter - array - Optional - Specifies the type of the workflow executions to be counted.

      executionFilter, typeFilter and tagFilter are mutually exclusive. You can specify at most one of these in a request.

        *
      • name - string - Required - Name of the workflow type. This field is required.
      • *
      • version - string - Optional - Version of the workflow type.
      • *
    • *
    • tagFilter - array - Optional - If specified, only executions that have a tag that matches the filter are counted.

      executionFilter, typeFilter and tagFilter are mutually exclusive. You can specify at most one of these in a request.

        *
      • tag - string - Required - Specifies the tag that must be associated with the execution for it to meet the filter criteria. This field is required.
      • *
    • *
    • executionFilter - array - Optional - If specified, only workflow executions matching the WorkflowId in the filter are counted.

      executionFilter, typeFilter and tagFilter are mutually exclusive. You can specify at most one of these in a request.

        *
      • workflowId - string - Required - The workflowId to pass of match the criteria of this filter.
      • *
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Returns the estimated number of activity tasks in the specified task list. The count returned
    	 * is an approximation and is not guaranteed to be exact. If you specify a task list that no
    	 * activity task was ever scheduled in then 0 will be returned.
    	 *  
    	 * Access Control
    	 *  
    	 * You can use IAM policies to control this action's access to Amazon SWF resources as follows:
    	 * 
    	 * 
      *
    • Use a Resource element with the domain name to limit the action to only * specified domains.
    • *
    • Use an Action element to allow or deny permission to call this action.
    • *
    • Use a Condition element with the swf:taskList.name key to * allow the action to access only certain task lists.
    • *
    * * If the caller does not have sufficient permissions to invoke the action, or the parameter * values fall outside the specified constraints, the action fails by throwing * OperationNotPermitted. For details and example IAM policies, see Using IAM to * Manage Access to Amazon SWF Workflows. * * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • domain - string - Required - The name of the domain that contains the task list.
    • *
    • taskList - array - Required - The name of the task list.
        *
      • name - string - Required - The name of the task list.
      • *
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Returns the estimated number of decision tasks in the specified task list. The count returned
    	 * is an approximation and is not guaranteed to be exact. If you specify a task list that no
    	 * decision task was ever scheduled in then 0 will be returned.
    	 *  
    	 * Access Control
    	 *  
    	 * You can use IAM policies to control this action's access to Amazon SWF resources as follows:
    	 * 
    	 * 
      *
    • Use a Resource element with the domain name to limit the action to only * specified domains.
    • *
    • Use an Action element to allow or deny permission to call this action.
    • *
    • Use a Condition element with the swf:taskList.name key to * allow the action to access only certain task lists.
    • *
    * * If the caller does not have sufficient permissions to invoke the action, or the parameter * values fall outside the specified constraints, the action fails by throwing * OperationNotPermitted. For details and example IAM policies, see Using IAM to * Manage Access to Amazon SWF Workflows. * * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • domain - string - Required - The name of the domain that contains the task list.
    • *
    • taskList - array - Required - The name of the task list.
        *
      • name - string - Required - The name of the task list.
      • *
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Deprecates the specified activity type. After an activity type has been deprecated,
    	 * you cannot create new tasks of that activity type. Tasks of this type that were scheduled
    	 * before the type was deprecated will continue to run.
    	 * 
    	 * 

    * This operation is eventually consistent. The results are best effort and may not exactly * reflect recent updates and changes. *

    * Access Control * * You can use IAM policies to control this action's access to Amazon SWF resources as follows: * *
      *
    • Use a Resource element with the domain name to limit the action to only * specified domains.
    • *
    • Use an Action element to allow or deny permission to call this action.
    • *
    • Constrain the following parameters by using a Condition element with the * appropriate keys. *
        *
      • activityType.name: String constraint. The key is * swf:activityType.name.
      • *
      • activityType.version: String constraint. The key is * swf:activityType.version.
      • *
    • *
    * * If the caller does not have sufficient permissions to invoke the action, or the parameter * values fall outside the specified constraints, the action fails by throwing * OperationNotPermitted. For details and example IAM policies, see Using IAM to * Manage Access to Amazon SWF Workflows. * * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • domain - string - Required - The name of the domain in which the activity type is registered.
    • *
    • activityType - array - Required - The activity type to deprecate.
        *
      • name - string - Required - The name of this activity.

        The combination of activity type name and version must be unique within a domain.

      • *
      • version - string - Required - The version of this activity.

        The combination of activity type name and version must be unique with in a domain.

      • *
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Deprecates the specified domain. After a domain has been deprecated it cannot be used to create
    	 * new workflow executions or register new types. However, you can still use visibility actions on
    	 * this domain. Deprecating a domain also deprecates all activity and workflow types registered in
    	 * the domain. Executions that were started before the domain was deprecated will continue to run.
    	 * 
    	 * 

    * This operation is eventually consistent. The results are best effort and may not exactly * reflect recent updates and changes. *

    * Access Control * * You can use IAM policies to control this action's access to Amazon SWF resources as follows: * *
      *
    • Use a Resource element with the domain name to limit the action to only * specified domains.
    • *
    • Use an Action element to allow or deny permission to call this action.
    • *
    • You cannot use an IAM policy to constrain this action's parameters.
    • *
    * * If the caller does not have sufficient permissions to invoke the action, or the parameter * values fall outside the specified constraints, the action fails by throwing * OperationNotPermitted. For details and example IAM policies, see Using IAM to * Manage Access to Amazon SWF Workflows. * * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • name - string - Required - The name of the domain to deprecate.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Deprecates the specified workflow type. After a workflow type has been deprecated, you
    	 * cannot create new executions of that type. Executions that were started before the type was
    	 * deprecated will continue to run. A deprecated workflow type may still be used when calling
    	 * visibility actions.
    	 * 
    	 * 

    * This operation is eventually consistent. The results are best effort and may not exactly * reflect recent updates and changes. *

    * Access Control * * You can use IAM policies to control this action's access to Amazon SWF resources as follows: * *
      *
    • Use a Resource element with the domain name to limit the action to only * specified domains.
    • *
    • Use an Action element to allow or deny permission to call this action.
    • *
    • Constrain the following parameters by using a Condition element with the * appropriate keys. *
        *
      • workflowType.name: String constraint. The key is * swf:workflowType.name.
      • *
      • workflowType.version: String constraint. The key is * swf:workflowType.version.
      • *
    • *
    * * If the caller does not have sufficient permissions to invoke the action, or the parameter * values fall outside the specified constraints, the action fails by throwing * OperationNotPermitted. For details and example IAM policies, see Using IAM to * Manage Access to Amazon SWF Workflows. * * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • domain - string - Required - The name of the domain in which the workflow type is registered.
    • *
    • workflowType - array - Required - The workflow type to deprecate.
        *
      • name - string - Required - The name of the workflow type. This field is required.

        The combination of workflow type name and version must be unique with in a domain.

      • *
      • version - string - Required - The version of the workflow type. This field is required.

        The combination of workflow type name and version must be unique with in a domain.

      • *
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Returns information about the specified activity type. This includes configuration settings
    	 * provided at registration time as well as other general information about the type.
    	 *  
    	 * Access Control
    	 *  
    	 * You can use IAM policies to control this action's access to Amazon SWF resources as follows:
    	 * 
    	 * 
      *
    • Use a Resource element with the domain name to limit the action to only * specified domains.
    • *
    • Use an Action element to allow or deny permission to call this action.
    • *
    • Constrain the following parameters by using a Condition element with the * appropriate keys. *
        *
      • activityType.name: String constraint. The key is * swf:activityType.name.
      • *
      • activityType.version: String constraint. The key is * swf:activityType.version.
      • *
    • *
    * * If the caller does not have sufficient permissions to invoke the action, or the parameter * values fall outside the specified constraints, the action fails by throwing * OperationNotPermitted. For details and example IAM policies, see Using IAM to * Manage Access to Amazon SWF Workflows. * * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • domain - string - Required - The name of the domain in which the activity type is registered.
    • *
    • activityType - array - Required - The activity type to describe.
        *
      • name - string - Required - The name of this activity.

        The combination of activity type name and version must be unique within a domain.

      • *
      • version - string - Required - The version of this activity.

        The combination of activity type name and version must be unique with in a domain.

      • *
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Returns information about the specified domain including description and status.
    	 *  
    	 * Access Control
    	 *  
    	 * You can use IAM policies to control this action's access to Amazon SWF resources as follows:
    	 * 
    	 * 
      *
    • Use a Resource element with the domain name to limit the action to only * specified domains.
    • *
    • Use an Action element to allow or deny permission to call this action.
    • *
    • You cannot use an IAM policy to constrain this action's parameters.
    • *
    * * If the caller does not have sufficient permissions to invoke the action, or the parameter * values fall outside the specified constraints, the action fails by throwing * OperationNotPermitted. For details and example IAM policies, see Using IAM to * Manage Access to Amazon SWF Workflows. * * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • name - string - Required - The name of the domain to describe.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Returns information about the specified workflow execution including its type and some
    	 * statistics.
    	 * 
    	 * 

    * This operation is eventually consistent. The results are best effort and may not exactly * reflect recent updates and changes. *

    * Access Control * * You can use IAM policies to control this action's access to Amazon SWF resources as follows: * *
      *
    • Use a Resource element with the domain name to limit the action to only * specified domains.
    • *
    • Use an Action element to allow or deny permission to call this action.
    • *
    • You cannot use an IAM policy to constrain this action's parameters.
    • *
    * * If the caller does not have sufficient permissions to invoke the action, or the parameter * values fall outside the specified constraints, the action fails by throwing * OperationNotPermitted. For details and example IAM policies, see Using IAM to * Manage Access to Amazon SWF Workflows. * * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • domain - string - Required - The name of the domain containing the workflow execution.
    • *
    • execution - array - Required - The workflow execution to describe.
        *
      • workflowId - string - Required - The user defined identifier associated with the workflow execution.
      • *
      • runId - string - Required - A system generated unique identifier for the workflow execution.
      • *
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Returns information about the specified workflow type. This includes configuration
    	 * settings specified when the type was registered and other information such as creation date,
    	 * current status, etc.
    	 *  
    	 * Access Control
    	 *  
    	 * You can use IAM policies to control this action's access to Amazon SWF resources as follows:
    	 * 
    	 * 
      *
    • Use a Resource element with the domain name to limit the action to only * specified domains.
    • *
    • Use an Action element to allow or deny permission to call this action.
    • *
    • Constrain the following parameters by using a Condition element with the * appropriate keys. *
        *
      • workflowType.name: String constraint. The key is * swf:workflowType.name.
      • *
      • workflowType.version: String constraint. The key is * swf:workflowType.version.
      • *
    • *
    * * If the caller does not have sufficient permissions to invoke the action, or the parameter * values fall outside the specified constraints, the action fails by throwing * OperationNotPermitted. For details and example IAM policies, see Using IAM to * Manage Access to Amazon SWF Workflows. * * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • domain - string - Required - The name of the domain in which this workflow type is registered.
    • *
    • workflowType - array - Required - The workflow type to describe.
        *
      • name - string - Required - The name of the workflow type. This field is required.

        The combination of workflow type name and version must be unique with in a domain.

      • *
      • version - string - Required - The version of the workflow type. This field is required.

        The combination of workflow type name and version must be unique with in a domain.

      • *
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Returns the history of the specified workflow execution. The results may be split into multiple
    	 * pages. To retrieve subsequent pages, make the call again using the nextPageToken
    	 * returned by the initial call.
    	 * 
    	 * 

    * This operation is eventually consistent. The results are best effort and may not exactly * reflect recent updates and changes. *

    * Access Control * * You can use IAM policies to control this action's access to Amazon SWF resources as follows: * *
      *
    • Use a Resource element with the domain name to limit the action to only * specified domains.
    • *
    • Use an Action element to allow or deny permission to call this action.
    • *
    • You cannot use an IAM policy to constrain this action's parameters.
    • *
    * * If the caller does not have sufficient permissions to invoke the action, or the parameter * values fall outside the specified constraints, the action fails by throwing * OperationNotPermitted. For details and example IAM policies, see Using IAM to * Manage Access to Amazon SWF Workflows. * * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • domain - string - Required - The name of the domain containing the workflow execution.
    • *
    • execution - array - Required - Specifies the workflow execution for which to return the history.
        *
      • workflowId - string - Required - The user defined identifier associated with the workflow execution.
      • *
      • runId - string - Required - A system generated unique identifier for the workflow execution.
      • *
    • *
    • nextPageToken - string - Optional - If a NextPageToken is returned, the result has more than one pages. To get the next page, repeat the call and specify the nextPageToken with all other arguments unchanged.
    • *
    • maximumPageSize - integer - Optional - Specifies the maximum number of history events returned in one page. The next page in the result is identified by the NextPageToken returned. By default 100 history events are returned in a page but the caller can override this value to a page size smaller than the default. You cannot specify a page size larger than 100. Note that the number of events may be less than the maxiumum page size, in which case, the returned page will have fewer results than the maximumPageSize specified.
    • *
    • reverseOrder - boolean - Optional - When set to true, returns the events in reverse order. By default the results are returned in ascending order of the eventTimeStamp of the events.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Returns information about all activities registered in the specified domain that match the
    	 * specified name and registration status. The result includes information like creation date,
    	 * current status of the activity, etc. The results may be split into multiple pages. To retrieve
    	 * subsequent pages, make the call again using the nextPageToken returned by the
    	 * initial call.
    	 *  
    	 * Access Control
    	 *  
    	 * You can use IAM policies to control this action's access to Amazon SWF resources as follows:
    	 * 
    	 * 
      *
    • Use a Resource element with the domain name to limit the action to only * specified domains.
    • *
    • Use an Action element to allow or deny permission to call this action.
    • *
    • You cannot use an IAM policy to constrain this action's parameters.
    • *
    * * If the caller does not have sufficient permissions to invoke the action, or the parameter * values fall outside the specified constraints, the action fails by throwing * OperationNotPermitted. For details and example IAM policies, see Using IAM to * Manage Access to Amazon SWF Workflows. * * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • domain - string - Required - The name of the domain in which the activity types have been registered.
    • *
    • name - string - Optional - If specified, only lists the activity types that have this name.
    • *
    • registrationStatus - string - Required - Specifies the registration status of the activity types to list. [Allowed values: REGISTERED, DEPRECATED]
    • *
    • nextPageToken - string - Optional - If on a previous call to this method a NextResultToken was returned, the results have more than one page. To get the next page of results, repeat the call with the nextPageToken and keep all other arguments unchanged.
    • *
    • maximumPageSize - integer - Optional - The maximum number of results returned in each page. The default is 100, but the caller can override this value to a page size smaller than the default. You cannot specify a page size greater than 100. Note that the number of types may be less than the maxiumum page size, in which case, the returned page will have fewer results than the maximumPageSize specified.
    • *
    • reverseOrder - boolean - Optional - When set to true, returns the results in reverse order. By default the results are returned in ascending alphabetical order of the name of the activity types.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Returns a list of closed workflow executions in the specified domain that meet the filtering
    	 * criteria. The results may be split into multiple pages. To retrieve subsequent pages, make the
    	 * call again using the nextPageToken returned by the initial call.
    	 * 
    	 * 

    * This operation is eventually consistent. The results are best effort and may not exactly * reflect recent updates and changes. *

    * Access Control * * You can use IAM policies to control this action's access to Amazon SWF resources as follows: * *
      *
    • Use a Resource element with the domain name to limit the action to only * specified domains.
    • *
    • Use an Action element to allow or deny permission to call this action.
    • *
    • Constrain the following parameters by using a Condition element with the * appropriate keys. *
        *
      • tag: String constraint. The key is swf:tagFilter.tag.
      • *
      • typeFilter.name: String constraint. String constraint. The key is * swf:typeFilter.name.
      • *
      • typeFilter.version: String constraint. String constraint. The key is * swf:typeFilter.version.
      • *
    • *
    * * If the caller does not have sufficient permissions to invoke the action, or the parameter * values fall outside the specified constraints, the action fails by throwing * OperationNotPermitted. For details and example IAM policies, see Using IAM to * Manage Access to Amazon SWF Workflows. * * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • domain - string - Required - The name of the domain that contains the workflow executions to list.
    • *
    • startTimeFilter - array - Optional - If specified, the workflow executions are included in the returned results based on whether their start times are within the range specified by this filter. Also, if this parameter is specified, the returned results are ordered by their start times.

      startTimeFilter and closeTimeFilter are mutually exclusive. You must specify one of these in a request but not both.

        *
      • oldestDate - string - Required - Specifies the oldest start or close date and time to return. May be passed as a number of seconds since UNIX Epoch, or any string compatible with .
      • *
      • latestDate - string - Optional - Specifies the latest start or close date and time to return. May be passed as a number of seconds since UNIX Epoch, or any string compatible with .
      • *
    • *
    • closeTimeFilter - array - Optional - If specified, the workflow executions are included in the returned results based on whether their close times are within the range specified by this filter. Also, if this parameter is specified, the returned results are ordered by their close times.

      startTimeFilter and closeTimeFilter are mutually exclusive. You must specify one of these in a request but not both.

        *
      • oldestDate - string - Required - Specifies the oldest start or close date and time to return. May be passed as a number of seconds since UNIX Epoch, or any string compatible with .
      • *
      • latestDate - string - Optional - Specifies the latest start or close date and time to return. May be passed as a number of seconds since UNIX Epoch, or any string compatible with .
      • *
    • *
    • executionFilter - array - Optional - If specified, only workflow executions matching the workflow id specified in the filter are returned.

      closeStatusFilter, executionFilter, typeFilter and tagFilter are mutually exclusive. You can specify at most one of these in a request.

        *
      • workflowId - string - Required - The workflowId to pass of match the criteria of this filter.
      • *
    • *
    • closeStatusFilter - array - Optional - If specified, only workflow executions that match this close status are listed. For example, if TERMINATED is specified, then only TERMINATED workflow executions are listed.

      closeStatusFilter, executionFilter, typeFilter and tagFilter are mutually exclusive. You can specify at most one of these in a request.

        *
      • status - string - Required - The close status that must match the close status of an execution for it to meet the criteria of this filter. This field is required. [Allowed values: COMPLETED, FAILED, CANCELED, TERMINATED, CONTINUED_AS_NEW, TIMED_OUT]
      • *
    • *
    • typeFilter - array - Optional - If specified, only executions of the type specified in the filter are returned.

      closeStatusFilter, executionFilter, typeFilter and tagFilter are mutually exclusive. You can specify at most one of these in a request.

        *
      • name - string - Required - Name of the workflow type. This field is required.
      • *
      • version - string - Optional - Version of the workflow type.
      • *
    • *
    • tagFilter - array - Optional - If specified, only executions that have the matching tag are listed.

      closeStatusFilter, executionFilter, typeFilter and tagFilter are mutually exclusive. You can specify at most one of these in a request.

        *
      • tag - string - Required - Specifies the tag that must be associated with the execution for it to meet the filter criteria. This field is required.
      • *
    • *
    • nextPageToken - string - Optional - If on a previous call to this method a NextPageToken was returned, the results are being paginated. To get the next page of results, repeat the call with the returned token and all other arguments unchanged.
    • *
    • maximumPageSize - integer - Optional - The maximum number of results returned in each page. The default is 100, but the caller can override this value to a page size smaller than the default. You cannot specify a page size greater than 100. Note that the number of executions may be less than the maxiumum page size, in which case, the returned page will have fewer results than the maximumPageSize specified.
    • *
    • reverseOrder - boolean - Optional - When set to true, returns the results in reverse order. By default the results are returned in descending order of the start or the close time of the executions.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	 * specified domains. The element must be set to arn:aws:swf::AccountID:domain/*",
    	 * where “AccountID" is the account ID, with no dashes.
    	 * 	
  • Use an Action element to allow or deny permission to call this action.
  • *
  • You cannot use an IAM policy to constrain this action's parameters.
  • * * * If the caller does not have sufficient permissions to invoke the action, or the parameter * values fall outside the specified constraints, the action fails by throwing * OperationNotPermitted. For details and example IAM policies, see Using IAM to * Manage Access to Amazon SWF Workflows. * * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • nextPageToken - string - Optional - If on a previous call to this method a NextPageToken was returned, the result has more than one page. To get the next page of results, repeat the call with the returned token and all other arguments unchanged.
    • *
    • registrationStatus - string - Required - Specifies the registration status of the domains to list. [Allowed values: REGISTERED, DEPRECATED]
    • *
    • maximumPageSize - integer - Optional - The maximum number of results returned in each page. The default is 100, but the caller can override this value to a page size smaller than the default. You cannot specify a page size greater than 100. Note that the number of domains may be less than the maxiumum page size, in which case, the returned page will have fewer results than the maximumPageSize specified.
    • *
    • reverseOrder - boolean - Optional - When set to true, returns the results in reverse order. By default the results are returned in ascending alphabetical order of the name of the domains.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Returns a list of open workflow executions in the specified domain that meet the filtering
    	 * criteria. The results may be split into multiple pages. To retrieve subsequent pages, make the
    	 * call again using the nextPageToken returned by the initial call.
    	 * 
    	 * 

    * This operation is eventually consistent. The results are best effort and may not exactly * reflect recent updates and changes. *

    * Access Control * * You can use IAM policies to control this action's access to Amazon SWF resources as follows: * *
      *
    • Use a Resource element with the domain name to limit the action to only * specified domains.
    • *
    • Use an Action element to allow or deny permission to call this action.
    • *
    • Constrain the following parameters by using a Condition element with the * appropriate keys. *
        *
      • tag: String constraint. The key is swf:tagFilter.tag.
      • *
      • typeFilter.name: String constraint. String constraint. The key is * swf:typeFilter.name.
      • *
      • typeFilter.version: String constraint. String constraint. The key is * swf:typeFilter.version.
      • *
    • *
    * * If the caller does not have sufficient permissions to invoke the action, or the parameter * values fall outside the specified constraints, the action fails by throwing * OperationNotPermitted. For details and example IAM policies, see Using IAM to * Manage Access to Amazon SWF Workflows. * * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • domain - string - Required - The name of the domain that contains the workflow executions to list.
    • *
    • startTimeFilter - array - Required - Workflow executions are included in the returned results based on whether their start times are within the range specified by this filter.
        *
      • oldestDate - string - Required - Specifies the oldest start or close date and time to return. May be passed as a number of seconds since UNIX Epoch, or any string compatible with .
      • *
      • latestDate - string - Optional - Specifies the latest start or close date and time to return. May be passed as a number of seconds since UNIX Epoch, or any string compatible with .
      • *
    • *
    • typeFilter - array - Optional - If specified, only executions of the type specified in the filter are returned.

      executionFilter, typeFilter and tagFilter are mutually exclusive. You can specify at most one of these in a request.

        *
      • name - string - Required - Name of the workflow type. This field is required.
      • *
      • version - string - Optional - Version of the workflow type.
      • *
    • *
    • tagFilter - array - Optional - If specified, only executions that have the matching tag are listed.

      executionFilter, typeFilter and tagFilter are mutually exclusive. You can specify at most one of these in a request.

        *
      • tag - string - Required - Specifies the tag that must be associated with the execution for it to meet the filter criteria. This field is required.
      • *
    • *
    • nextPageToken - string - Optional - If on a previous call to this method a NextPageToken was returned, the results are being paginated. To get the next page of results, repeat the call with the returned token and all other arguments unchanged.
    • *
    • maximumPageSize - integer - Optional - The maximum number of results returned in each page. The default is 100, but the caller can override this value to a page size smaller than the default. You cannot specify a page size greater than 100. Note that the number of executions may be less than the maxiumum page size, in which case, the returned page will have fewer results than the maximumPageSize specified.
    • *
    • reverseOrder - boolean - Optional - When set to true, returns the results in reverse order. By default the results are returned in descending order of the start time of the executions.
    • *
    • executionFilter - array - Optional - If specified, only workflow executions matching the workflow id specified in the filter are returned.

      executionFilter, typeFilter and tagFilter are mutually exclusive. You can specify at most one of these in a request.

        *
      • workflowId - string - Required - The workflowId to pass of match the criteria of this filter.
      • *
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Returns information about workflow types in the specified domain. The results may be split into
    	 * multiple pages that can be retrieved by making the call repeatedly.
    	 *  
    	 * Access Control
    	 *  
    	 * You can use IAM policies to control this action's access to Amazon SWF resources as follows:
    	 * 
    	 * 
      *
    • Use a Resource element with the domain name to limit the action to only * specified domains.
    • *
    • Use an Action element to allow or deny permission to call this action.
    • *
    • You cannot use an IAM policy to constrain this action's parameters.
    • *
    * * If the caller does not have sufficient permissions to invoke the action, or the parameter * values fall outside the specified constraints, the action fails by throwing * OperationNotPermitted. For details and example IAM policies, see Using IAM to * Manage Access to Amazon SWF Workflows. * * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • domain - string - Required - The name of the domain in which the workflow types have been registered.
    • *
    • name - string - Optional - If specified, lists the workflow type with this name.
    • *
    • registrationStatus - string - Required - Specifies the registration status of the workflow types to list. [Allowed values: REGISTERED, DEPRECATED]
    • *
    • nextPageToken - string - Optional - If on a previous call to this method a NextPageToken was returned, the results are being paginated. To get the next page of results, repeat the call with the returned token and all other arguments unchanged.
    • *
    • maximumPageSize - integer - Optional - The maximum number of results returned in each page. The default is 100, but the caller can override this value to a page size smaller than the default. You cannot specify a page size greater than 100. Note that the number of types may be less than the maxiumum page size, in which case, the returned page will have fewer results than the maximumPageSize specified.
    • *
    • reverseOrder - boolean - Optional - When set to true, returns the results in reverse order. By default the results are returned in ascending alphabetical order of the name of the workflow types.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Used by workers to get an ActivityTask from the specified activity
    	 * taskList. This initiates a long poll, where the service holds the HTTP connection
    	 * open and responds as soon as a task becomes available. The maximum time the service holds on to
    	 * the request before responding is 60 seconds. If no task is available within 60 seconds, the
    	 * poll will return an empty result. An empty result, in this context, means that an ActivityTask
    	 * is returned, but that the value of taskToken is an empty string. If a task is returned, the
    	 * worker should use its type to identify and process it correctly.
    	 * 
    	 * 

    * Workers should set their client side socket timeout to at least 70 seconds (10 seconds higher * than the maximum time service may hold the poll request). *

    * Access Control * * You can use IAM policies to control this action's access to Amazon SWF resources as follows: * *
      *
    • Use a Resource element with the domain name to limit the action to only * specified domains.
    • *
    • Use an Action element to allow or deny permission to call this action.
    • *
    • Use a Condition element with the swf:taskList.name key to * allow the action to access only certain task lists.
    • *
    * * If the caller does not have sufficient permissions to invoke the action, or the parameter * values fall outside the specified constraints, the action fails by throwing * OperationNotPermitted. For details and example IAM policies, see Using IAM to * Manage Access to Amazon SWF Workflows. * * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • domain - string - Required - The name of the domain that contains the task lists being polled.
    • *
    • taskList - array - Required - Specifies the task list to poll for activity tasks. The specified string must not start or end with whitespace. It must not contain a : (colon), / (slash), | (vertical bar), or any control characters (\u0000-\u001f | \u007f - \u009f). Also, it must not contain the literal string "arn".
        *
      • name - string - Required - The name of the task list.
      • *
    • *
    • identity - string - Optional - Identity of the worker making the request, which is recorded in the ActivityTaskStarted event in the workflow history. This enables diagnostic tracing when problems arise. The form of this identity is user defined.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Used by deciders to get a DecisionTask from the specified decision
    	 * taskList. A decision task may be returned for any open workflow execution that is
    	 * using the specified task list. The task includes a paginated view of the history of the
    	 * workflow execution. The decider should use the workflow type and the history to determine how
    	 * to properly handle the task.
    	 *  
    	 * This action initiates a long poll, where the service holds the HTTP connection open and
    	 * responds as soon a task becomes available. If no decision task is available in the specified
    	 * task list before the timeout of 60 seconds expires, an empty result is returned. An empty
    	 * result, in this context, means that a DecisionTask is returned, but that the value of taskToken
    	 * is an empty string.
    	 * 
    	 * 

    * Deciders should set their client side socket timeout to at least 70 seconds (10 seconds higher * than the timeout). *

    *

    * Because the number of workflow history events for a single workflow execution might be very * large, the result returned might be split up across a number of pages. To retrieve subsequent * pages, make additional calls to PollForDecisionTask using the * nextPageToken returned by the initial call. Note that you do not * call GetWorkflowExecutionHistory with this nextPageToken. Instead, * call PollForDecisionTask again. *

    * Access Control * * You can use IAM policies to control this action's access to Amazon SWF resources as follows: * *
      *
    • Use a Resource element with the domain name to limit the action to only * specified domains.
    • *
    • Use an Action element to allow or deny permission to call this action.
    • *
    • Use a Condition element with the swf:taskList.name key to * allow the action to access only certain task lists.
    • *
    * * If the caller does not have sufficient permissions to invoke the action, or the parameter * values fall outside the specified constraints, the action fails by throwing * OperationNotPermitted. For details and example IAM policies, see Using IAM to * Manage Access to Amazon SWF Workflows. * * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • domain - string - Required - The name of the domain containing the task lists to poll.
    • *
    • taskList - array - Required - Specifies the task list to poll for decision tasks. The specified string must not start or end with whitespace. It must not contain a : (colon), / (slash), | (vertical bar), or any control characters (\u0000-\u001f | \u007f - \u009f). Also, it must not contain the literal string "arn".
        *
      • name - string - Required - The name of the task list.
      • *
    • *
    • identity - string - Optional - Identity of the decider making the request, which is recorded in the DecisionTaskStarted event in the workflow history. This enables diagnostic tracing when problems arise. The form of this identity is user defined.
    • *
    • nextPageToken - string - Optional - If on a previous call to this method a NextPageToken was returned, the results are being paginated. To get the next page of results, repeat the call with the returned token and all other arguments unchanged.

      The nextPageToken returned by this action cannot be used with GetWorkflowExecutionHistory to get the next page. You must call PollForDecisionTask again (with the nextPageToken) to retrieve the next page of history records. Calling PollForDecisionTask with a nextPageToken will not return a new decision task.

      .
    • *
    • maximumPageSize - integer - Optional - The maximum number of history events returned in each page. The default is 100, but the caller can override this value to a page size smaller than the default. You cannot specify a page size greater than 100. Note that the number of events may be less than the maxiumum page size, in which case, the returned page will have fewer results than the maximumPageSize specified.
    • *
    • reverseOrder - boolean - Optional - When set to true, returns the events in reverse order. By default the results are returned in ascending order of the eventTimestamp of the events.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Used by activity workers to report to the service that the ActivityTask
    	 * represented by the specified taskToken is still making progress. The worker can
    	 * also (optionally) specify details of the progress, for example percent complete, using the
    	 * details parameter. This action can also be used by the worker as a mechanism to
    	 * check if cancellation is being requested for the activity task. If a cancellation is being
    	 * attempted for the specified task, then the boolean cancelRequested flag returned
    	 * by the service is set to true.
    	 *  
    	 * This action resets the taskHeartbeatTimeout clock. The
    	 * taskHeartbeatTimeout is specified in RegisterActivityType.
    	 *  
    	 * This action does not in itself create an event in the workflow execution history. However, if
    	 * the task times out, the workflow execution history will contain a
    	 * ActivityTaskTimedOut event that contains the information from the last heartbeat
    	 * generated by the activity worker.
    	 * 
    	 * 

    * The taskStartToCloseTimeout of an activity type is the maximum duration of an * activity task, regardless of the number of RecordActivityTaskHeartbeat requests * received. The taskStartToCloseTimeout is also specified in * RegisterActivityType. *

    *

    * This operation is only useful for long-lived activities to report liveliness of the task and to * determine if a cancellation is being attempted. *

    *

    * If the cancelRequested flag returns true, a cancellation is being * attempted. If the worker can cancel the activity, it should respond with * RespondActivityTaskCanceled. Otherwise, it should ignore the cancellation request. *

    * Access Control * * You can use IAM policies to control this action's access to Amazon SWF resources as follows: * *
      *
    • Use a Resource element with the domain name to limit the action to only * specified domains.
    • *
    • Use an Action element to allow or deny permission to call this action.
    • *
    • You cannot use an IAM policy to constrain this action's parameters.
    • *
    * * If the caller does not have sufficient permissions to invoke the action, or the parameter * values fall outside the specified constraints, the action fails by throwing * OperationNotPermitted. For details and example IAM policies, see Using IAM to * Manage Access to Amazon SWF Workflows. * * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • taskToken - string - Required - The taskToken of the ActivityTask.

      The taskToken is generated by the service and should be treated as an opaque value. If the task is passed to another process, its taskToken must also be passed. This enables it to provide its progress and respond with results.

    • *
    • details - string - Optional - If specified, contains details about the progress of the task.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Registers a new activity type along with its configuration settings in the specified
    	 * domain.
    	 * 
    	 * 

    * A TypeAlreadyExists fault is returned if the type already exists in the domain. * You cannot change any configuration settings of the type after its registration, and it must be * registered as a new version. *

    * Access Control * * You can use IAM policies to control this action's access to Amazon SWF resources as follows: * *
      *
    • Use a Resource element with the domain name to limit the action to only * specified domains.
    • *
    • Use an Action element to allow or deny permission to call this action.
    • *
    • Constrain the following parameters by using a Condition element with the * appropriate keys. *
        *
      • defaultTaskList: String constraint. The key is * swf:defaultTaskList.name.
      • *
      • name: String constraint. The key is swf:name.
      • *
      • version: String constraint. The key is swf:version.
      • *
    • *
    * * If the caller does not have sufficient permissions to invoke the action, or the parameter * values fall outside the specified constraints, the action fails by throwing * OperationNotPermitted. For details and example IAM policies, see Using IAM to * Manage Access to Amazon SWF Workflows. * * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • domain - string - Required - The name of the domain in which this activity is to be registered.
    • *
    • name - string - Required - The name of the activity type within the domain. The specified string must not start or end with whitespace. It must not contain a : (colon), / (slash), | (vertical bar), or any control characters (\u0000-\u001f | \u007f - \u009f). Also, it must not contain the literal string "arn".
    • *
    • version - string - Required - The version of the activity type.

      The activity type consists of the name and version, the combination of which must be unique within the domain.

      The specified string must not start or end with whitespace. It must not contain a : (colon), / (slash), | (vertical bar), or any control characters (\u0000-\u001f | \u007f - \u009f). Also, it must not contain the literal string "arn".
    • *
    • description - string - Optional - A textual description of the activity type.
    • *
    • defaultTaskStartToCloseTimeout - string - Optional - If set, specifies the default maximum duration that a worker can take to process tasks of this activity type. This default can be overridden when scheduling an activity task using the ScheduleActivityTask Decision. The valid values are integers greater than or equal to 0. An integer value can be used to specify the duration in seconds while NONE can be used to specify unlimited duration.
    • *
    • defaultTaskHeartbeatTimeout - string - Optional - If set, specifies the default maximum time before which a worker processing a task of this type must report progress by calling RecordActivityTaskHeartbeat. If the timeout is exceeded, the activity task is automatically timed out. This default can be overridden when scheduling an activity task using the ScheduleActivityTask Decision. If the activity worker subsequently attempts to record a heartbeat or returns a result, the activity worker receives an UnknownResource fault. In this case, Amazon SWF no longer considers the activity task to be valid; the activity worker should clean up the activity task. The valid values are integers greater than or equal to 0. An integer value can be used to specify the duration in seconds while NONE can be used to specify unlimited duration.
    • *
    • defaultTaskList - array - Optional - If set, specifies the default task list to use for scheduling tasks of this activity type. This default task list is used if a task list is not provided when a task is scheduled through the ScheduleActivityTask Decision.
        *
      • name - string - Required - The name of the task list.
      • *
    • *
    • defaultTaskScheduleToStartTimeout - string - Optional - If set, specifies the default maximum duration that a task of this activity type can wait before being assigned to a worker. This default can be overridden when scheduling an activity task using the ScheduleActivityTask Decision. The valid values are integers greater than or equal to 0. An integer value can be used to specify the duration in seconds while NONE can be used to specify unlimited duration.
    • *
    • defaultTaskScheduleToCloseTimeout - string - Optional - If set, specifies the default maximum duration for a task of this activity type. This default can be overridden when scheduling an activity task using the ScheduleActivityTask Decision. The valid values are integers greater than or equal to 0. An integer value can be used to specify the duration in seconds while NONE can be used to specify unlimited duration.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Registers a new domain.
    	 *  
    	 * Access Control
    	 *  
    	 * You can use IAM policies to control this action's access to Amazon SWF resources as follows:
    	 * 
    	 * 
      *
    • You cannot use an IAM policy to control domain access for this action. The name of the * domain being registered is available as the resource of this action.
    • *
    • Use an Action element to allow or deny permission to call this action.
    • *
    • You cannot use an IAM policy to constrain this action's parameters.
    • *
    * * If the caller does not have sufficient permissions to invoke the action, or the parameter * values fall outside the specified constraints, the action fails by throwing * OperationNotPermitted. For details and example IAM policies, see Using IAM to * Manage Access to Amazon SWF Workflows. * * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • name - string - Required - Name of the domain to register. The name must be unique. The specified string must not start or end with whitespace. It must not contain a : (colon), / (slash), | (vertical bar), or any control characters (\u0000-\u001f | \u007f - \u009f). Also, it must not contain the literal string "arn".
    • *
    • description - string - Optional - Textual description of the domain.
    • *
    • workflowExecutionRetentionPeriodInDays - string - Required - Specifies the duration-- in days --for which the record (including the history) of workflow executions in this domain should be kept by the service. After the retention period, the workflow execution will not be available in the results of visibility calls. If a duration of NONE is specified, the records for workflow executions in this domain are not retained at all.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Registers a new workflow type and its configuration settings in the specified domain.
    	 *  
    	 * The retention period for the workflow history is set by the RegisterDomain action.
    	 * 
    	 * 

    * If the type already exists, then a TypeAlreadyExists fault is returned. You cannot * change the configuration settings of a workflow type once it is registered and it must be * registered as a new version. *

    * Access Control * * You can use IAM policies to control this action's access to Amazon SWF resources as follows: * *
      *
    • Use a Resource element with the domain name to limit the action to only * specified domains.
    • *
    • Use an Action element to allow or deny permission to call this action.
    • *
    • Constrain the following parameters by using a Condition element with the * appropriate keys. *
        *
      • defaultTaskList: String constraint. The key is * swf:defaultTaskList.name.
      • *
      • name: String constraint. The key is swf:name.
      • *
      • version: String constraint. The key is swf:version.
      • *
    • *
    * * If the caller does not have sufficient permissions to invoke the action, or the parameter * values fall outside the specified constraints, the action fails by throwing * OperationNotPermitted. For details and example IAM policies, see Using IAM to * Manage Access to Amazon SWF Workflows. * * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • domain - string - Required - The name of the domain in which to register the workflow type.
    • *
    • name - string - Required - The name of the workflow type. The specified string must not start or end with whitespace. It must not contain a : (colon), / (slash), | (vertical bar), or any control characters (\u0000-\u001f | \u007f - \u009f). Also, it must not contain the literal string "arn".
    • *
    • version - string - Required - The version of the workflow type.

      The workflow type consists of the name and version, the combination of which must be unique within the domain. To get a list of all currently registered workflow types, use the ListWorkflowTypes action.

      The specified string must not start or end with whitespace. It must not contain a : (colon), / (slash), | (vertical bar), or any control characters (\u0000-\u001f | \u007f - \u009f). Also, it must not contain the literal string "arn".
    • *
    • description - string - Optional - Textual description of the workflow type.
    • *
    • defaultTaskStartToCloseTimeout - string - Optional - If set, specifies the default maximum duration of decision tasks for this workflow type. This default can be overridden when starting a workflow execution using the StartWorkflowExecution action or the StartChildWorkflowExecution Decision. The valid values are integers greater than or equal to 0. An integer value can be used to specify the duration in seconds while NONE can be used to specify unlimited duration.
    • *
    • defaultExecutionStartToCloseTimeout - string - Optional - If set, specifies the default maximum duration for executions of this workflow type. You can override this default when starting an execution through the StartWorkflowExecution Action or StartChildWorkflowExecution Decision. The duration is specified in seconds. The valid values are integers greater than or equal to 0. Unlike some of the other timeout parameters in Amazon SWF, you cannot specify a value of "NONE" for defaultExecutionStartToCloseTimeout; there is a one-year max limit on the time that a workflow execution can run. Exceeding this limit will always cause the workflow execution to time out.
    • *
    • defaultTaskList - array - Optional - If set, specifies the default task list to use for scheduling decision tasks for executions of this workflow type. This default is used only if a task list is not provided when starting the execution through the StartWorkflowExecution Action or StartChildWorkflowExecution Decision.
        *
      • name - string - Required - The name of the task list.
      • *
    • *
    • defaultChildPolicy - string - Optional - If set, specifies the default policy to use for the child workflow executions when a workflow execution of this type is terminated, by calling the TerminateWorkflowExecution action explicitly or due to an expired timeout. This default can be overridden when starting a workflow execution using the StartWorkflowExecution action or the StartChildWorkflowExecution Decision. The supported child policies are:
      • TERMINATE: the child executions will be terminated.
      • REQUEST_CANCEL: a request to cancel will be attempted for each child execution by recording a WorkflowExecutionCancelRequested event in its history. It is up to the decider to take appropriate actions when it receives an execution history with this event.
      • ABANDON: no action will be taken. The child executions will continue to run.
      [Allowed values: TERMINATE, REQUEST_CANCEL, ABANDON]
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Records a WorkflowExecutionCancelRequested event in the currently running workflow
    	 * execution identified by the given domain, workflowId, and runId. This logically requests the
    	 * cancellation of the workflow execution as a whole. It is up to the decider to take appropriate
    	 * actions when it receives an execution history with this event.
    	 * 
    	 * 

    * If the runId is not specified, the WorkflowExecutionCancelRequested event is * recorded in the history of the current open workflow execution with the specified workflowId in * the domain. *

    *

    * Because this action allows the workflow to properly clean up and gracefully close, it should be * used instead of TerminateWorkflowExecution when possible. *

    * Access Control * * You can use IAM policies to control this action's access to Amazon SWF resources as follows: * *
      *
    • Use a Resource element with the domain name to limit the action to only * specified domains.
    • *
    • Use an Action element to allow or deny permission to call this action.
    • *
    • You cannot use an IAM policy to constrain this action's parameters.
    • *
    * * If the caller does not have sufficient permissions to invoke the action, or the parameter * values fall outside the specified constraints, the action fails by throwing * OperationNotPermitted. For details and example IAM policies, see Using IAM to * Manage Access to Amazon SWF Workflows. * * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • domain - string - Required - The name of the domain containing the workflow execution to cancel.
    • *
    • workflowId - string - Required - The workflowId of the workflow execution to cancel.
    • *
    • runId - string - Optional - The runId of the workflow execution to cancel.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Used by workers to tell the service that the ActivityTask identified by the
    	 * taskToken was successfully canceled. Additional details can be
    	 * optionally provided using the details argument.
    	 *  
    	 * These details (if provided) appear in the ActivityTaskCanceled event
    	 * added to the workflow history.
    	 * 
    	 * 

    * Only use this operation if the canceled flag of a * RecordActivityTaskHeartbeat request returns true and if the activity * can be safely undone or abandoned. *

    * A task is considered open from the time that it is scheduled until it is closed. Therefore a * task is reported as open while a worker is processing it. A task is closed after it has been * specified in a call to RespondActivityTaskCompleted, RespondActivityTaskCanceled, * RespondActivityTaskFailed, or the task has * timed out. * * Access Control * * You can use IAM policies to control this action's access to Amazon SWF resources as follows: * *
      *
    • Use a Resource element with the domain name to limit the action to only * specified domains.
    • *
    • Use an Action element to allow or deny permission to call this action.
    • *
    • You cannot use an IAM policy to constrain this action's parameters.
    • *
    * * If the caller does not have sufficient permissions to invoke the action, or the parameter * values fall outside the specified constraints, the action fails by throwing * OperationNotPermitted. For details and example IAM policies, see Using IAM to * Manage Access to Amazon SWF Workflows. * * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • taskToken - string - Required - The taskToken of the ActivityTask.

      The taskToken is generated by the service and should be treated as an opaque value. If the task is passed to another process, its taskToken must also be passed. This enables it to provide its progress and respond with results.

    • *
    • details - string - Optional - Optional information about the cancellation.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Used by workers to tell the service that the ActivityTask identified by the
    	 * taskToken completed successfully with a result (if provided). The
    	 * result appears in the ActivityTaskCompleted event in the workflow
    	 * history.
    	 * 
    	 * 

    * If the requested task does not complete successfully, use * RespondActivityTaskFailed instead. If the worker finds that the task is canceled * through the canceled flag returned by RecordActivityTaskHeartbeat, it * should cancel the task, clean up and then call RespondActivityTaskCanceled. *

    * A task is considered open from the time that it is scheduled until it is closed. Therefore a * task is reported as open while a worker is processing it. A task is closed after it has been * specified in a call to RespondActivityTaskCompleted, RespondActivityTaskCanceled, * RespondActivityTaskFailed, or the task has * timed out. * * Access Control * * You can use IAM policies to control this action's access to Amazon SWF resources as follows: * *
      *
    • Use a Resource element with the domain name to limit the action to only * specified domains.
    • *
    • Use an Action element to allow or deny permission to call this action.
    • *
    • You cannot use an IAM policy to constrain this action's parameters.
    • *
    * * If the caller does not have sufficient permissions to invoke the action, or the parameter * values fall outside the specified constraints, the action fails by throwing * OperationNotPermitted. For details and example IAM policies, see Using IAM to * Manage Access to Amazon SWF Workflows. * * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • taskToken - string - Required - The taskToken of the ActivityTask.

      The taskToken is generated by the service and should be treated as an opaque value. If the task is passed to another process, its taskToken must also be passed. This enables it to provide its progress and respond with results.

    • *
    • result - string - Optional - The result of the activity task. It is a free form string that is implementation specific.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Used by workers to tell the service that the ActivityTask identified by the
    	 * taskToken has failed with reason (if specified). The
    	 * reason and details appear in the ActivityTaskFailed
    	 * event added to the workflow history.
    	 *  
    	 * A task is considered open from the time that it is scheduled until it is closed. Therefore a
    	 * task is reported as open while a worker is processing it. A task is closed after it has been
    	 * specified in a call to RespondActivityTaskCompleted,
    	 * RespondActivityTaskCanceled, RespondActivityTaskFailed, or the task has 
    	 * timed out.
    	 *  
    	 * Access Control
    	 *  
    	 * You can use IAM policies to control this action's access to Amazon SWF resources as follows:
    	 * 
    	 * 
      *
    • Use a Resource element with the domain name to limit the action to only * specified domains.
    • *
    • Use an Action element to allow or deny permission to call this action.
    • *
    • You cannot use an IAM policy to constrain this action's parameters.
    • *
    * * If the caller does not have sufficient permissions to invoke the action, or the parameter * values fall outside the specified constraints, the action fails by throwing * OperationNotPermitted. For details and example IAM policies, see Using IAM to * Manage Access to Amazon SWF Workflows. * * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • taskToken - string - Required - The taskToken of the ActivityTask.

      The taskToken is generated by the service and should be treated as an opaque value. If the task is passed to another process, its taskToken must also be passed. This enables it to provide its progress and respond with results.

    • *
    • reason - string - Optional - Description of the error that may assist in diagnostics.
    • *
    • details - string - Optional - Optional detailed information about the failure.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Used by deciders to tell the service that the DecisionTask identified by the
    	 * taskToken has successfully completed. The decisions argument
    	 * specifies the list of decisions made while processing the task.
    	 *  
    	 * A DecisionTaskCompleted event is added to the workflow history. The
    	 * executionContext specified is attached to the event in the workflow execution
    	 * history.
    	 *  
    	 * Access Control
    	 *  
    	 * If an IAM policy grants permission to use RespondDecisionTaskCompleted, it can
    	 * express permissions for the list of decisions in the decisions parameter in the
    	 * same way as for the regular API. This approach maintains a uniform conceptual model and helps
    	 * keep policies readable. For more information, see Using IAM to
    	 * Manage Access to Amazon SWF Workflows.
    	 *
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • taskToken - string - Required - The taskToken from the DecisionTask.

      The taskToken is generated by the service and should be treated as an opaque value. If the task is passed to another process, its taskToken must also be passed. This enables it to provide its progress and respond with results.

    • *
    • decisions - array - Optional - The list of decisions (possibly empty) made by the decider while processing this decision task. See the docs for the Decision structure for details.
        *
      • x - array - Optional - This represents a simple array index.
          *
        • decisionType - string - Required - Specifies the type of the decision. [Allowed values: ScheduleActivityTask, RequestCancelActivityTask, CompleteWorkflowExecution, FailWorkflowExecution, CancelWorkflowExecution, ContinueAsNewWorkflowExecution, RecordMarker, StartTimer, CancelTimer, SignalExternalWorkflowExecution, RequestCancelExternalWorkflowExecution, StartChildWorkflowExecution]
        • *
        • scheduleActivityTaskDecisionAttributes - array - Optional - Provides details of the ScheduleActivityTask decision. It is not set for other decision types.
            *
          • activityType - array - Required - The type of the activity task to schedule. This field is required.
              *
            • name - string - Required - The name of this activity.

              The combination of activity type name and version must be unique within a domain.

            • *
            • version - string - Required - The version of this activity.

              The combination of activity type name and version must be unique with in a domain.

            • *
          • *
          • activityId - string - Required - The activityId of the activity task. This field is required. The specified string must not start or end with whitespace. It must not contain a : (colon), / (slash), | (vertical bar), or any control characters (\u0000-\u001f | \u007f - \u009f). Also, it must not contain the literal string "arn".
          • *
          • control - string - Optional - Optional data attached to the event that can be used by the decider in subsequent workflow tasks. This data is not sent to the activity.
          • *
          • input - string - Optional - The input provided to the activity task.
          • *
          • scheduleToCloseTimeout - string - Optional - The maximum duration for this activity task. The valid values are integers greater than or equal to 0. An integer value can be used to specify the duration in seconds while NONE can be used to specify unlimited duration.

            A schedule-to-close timeout for this activity task must be specified either as a default for the activity type or through this field. If neither this field is set nor a default schedule-to-close timeout was specified at registration time then a fault will be returned.

          • *
          • taskList - array - Optional - If set, specifies the name of the task list in which to schedule the activity task. If not specified, the defaultTaskList registered with the activity type will be used.

            A task list for this activity task must be specified either as a default for the activity type or through this field. If neither this field is set nor a default task list was specified at registration time then a fault will be returned.

            The specified string must not start or end with whitespace. It must not contain a : (colon), / (slash), | (vertical bar), or any control characters (\u0000-\u001f | \u007f - \u009f). Also, it must not contain the literal string "arn".
              *
            • name - string - Required - The name of the task list.
            • *
          • *
          • scheduleToStartTimeout - string - Optional - If set, specifies the maximum duration the activity task can wait to be assigned to a worker. This overrides the default schedule-to-start timeout specified when registering the activity type using RegisterActivityType. The valid values are integers greater than or equal to 0. An integer value can be used to specify the duration in seconds while NONE can be used to specify unlimited duration.

            A schedule-to-start timeout for this activity task must be specified either as a default for the activity type or through this field. If neither this field is set nor a default schedule-to-start timeout was specified at registration time then a fault will be returned.

          • *
          • startToCloseTimeout - string - Optional - If set, specifies the maximum duration a worker may take to process this activity task. This overrides the default start-to-close timeout specified when registering the activity type using RegisterActivityType. The valid values are integers greater than or equal to 0. An integer value can be used to specify the duration in seconds while NONE can be used to specify unlimited duration.

            A start-to-close timeout for this activity task must be specified either as a default for the activity type or through this field. If neither this field is set nor a default start-to-close timeout was specified at registration time then a fault will be returned.

          • *
          • heartbeatTimeout - string - Optional - If set, specifies the maximum time before which a worker processing a task of this type must report progress by calling RecordActivityTaskHeartbeat. If the timeout is exceeded, the activity task is automatically timed out. If the worker subsequently attempts to record a heartbeat or returns a result, it will be ignored. This overrides the default heartbeat timeout specified when registering the activity type using RegisterActivityType. The valid values are integers greater than or equal to 0. An integer value can be used to specify the duration in seconds while NONE can be used to specify unlimited duration.
          • *
        • *
        • requestCancelActivityTaskDecisionAttributes - array - Optional - Provides details of the RequestCancelActivityTask decision. It is not set for other decision types.
            *
          • activityId - string - Required - The activityId of the activity task to be canceled.
          • *
        • *
        • completeWorkflowExecutionDecisionAttributes - array - Optional - Provides details of the CompleteWorkflowExecution decision. It is not set for other decision types.
            *
          • result - string - Optional - The result of the workflow execution. The form of the result is implementation defined.
          • *
        • *
        • failWorkflowExecutionDecisionAttributes - array - Optional - Provides details of the FailWorkflowExecution decision. It is not set for other decision types.
            *
          • reason - string - Optional - A descriptive reason for the failure that may help in diagnostics.
          • *
          • details - string - Optional - Optional details of the failure.
          • *
        • *
        • cancelWorkflowExecutionDecisionAttributes - array - Optional - Provides details of the CancelWorkflowExecution decision. It is not set for other decision types.
            *
          • details - string - Optional - Optional details of the cancellation.
          • *
        • *
        • continueAsNewWorkflowExecutionDecisionAttributes - array - Optional - Provides details of the ContinueAsNewWorkflowExecution decision. It is not set for other decision types.
            *
          • input - string - Optional - The input provided to the new workflow execution.
          • *
          • executionStartToCloseTimeout - string - Optional - If set, specifies the total duration for this workflow execution. This overrides the defaultExecutionStartToCloseTimeout specified when registering the workflow type. The valid values are integers greater than or equal to 0. An integer value can be used to specify the duration in seconds while NONE can be used to specify unlimited duration.

            An execution start-to-close timeout for this workflow execution must be specified either as a default for the workflow type or through this field. If neither this field is set nor a default execution start-to-close timeout was specified at registration time then a fault will be returned.

          • *
          • taskList - array - Optional - Represents a task list.
              *
            • name - string - Required - The name of the task list.
            • *
          • *
          • taskStartToCloseTimeout - string - Optional - Specifies the maximum duration of decision tasks for the new workflow execution. This parameter overrides the defaultTaskStartToCloseTimout specified when registering the workflow type using RegisterWorkflowType. The valid values are integers greater than or equal to 0. An integer value can be used to specify the duration in seconds while NONE can be used to specify unlimited duration.

            A task start-to-close timeout for the new workflow execution must be specified either as a default for the workflow type or through this parameter. If neither this parameter is set nor a default task start-to-close timeout was specified at registration time then a fault will be returned.

          • *
          • childPolicy - string - Optional - If set, specifies the policy to use for the child workflow executions of the new execution if it is terminated by calling the TerminateWorkflowExecution action explicitly or due to an expired timeout. This policy overrides the default child policy specified when registering the workflow type using RegisterWorkflowType. The supported child policies are:
            • TERMINATE: the child executions will be terminated.
            • REQUEST_CANCEL: a request to cancel will be attempted for each child execution by recording a WorkflowExecutionCancelRequested event in its history. It is up to the decider to take appropriate actions when it receives an execution history with this event.
            • ABANDON: no action will be taken. The child executions will continue to run.

            A child policy for the new workflow execution must be specified either as a default registered for its workflow type or through this field. If neither this field is set nor a default child policy was specified at registration time then a fault will be returned.

            [Allowed values: TERMINATE, REQUEST_CANCEL, ABANDON]
          • *
          • tagList - string|array - Optional - The list of tags to associate with the new workflow execution. A maximum of 5 tags can be specified. You can list workflow executions with a specific tag by calling ListOpenWorkflowExecutions or ListClosedWorkflowExecutions and specifying a TagFilter. Pass a string for a single value, or an indexed array for multiple values.
          • *
          • workflowTypeVersion - string - Optional -
          • *
        • *
        • recordMarkerDecisionAttributes - array - Optional - Provides details of the RecordMarker decision. It is not set for other decision types.
            *
          • markerName - string - Required - The name of the marker. This file is required.
          • *
          • details - string - Optional - Optional details of the marker.
          • *
        • *
        • startTimerDecisionAttributes - array - Optional - Provides details of the StartTimer decision. It is not set for other decision types.
            *
          • timerId - string - Required - The unique Id of the timer. This field is required. The specified string must not start or end with whitespace. It must not contain a : (colon), / (slash), | (vertical bar), or any control characters (\u0000-\u001f | \u007f - \u009f). Also, it must not contain the literal string "arn".
          • *
          • control - string - Optional - Optional data attached to the event that can be used by the decider in subsequent workflow tasks.
          • *
          • startToFireTimeout - string - Required - The duration to wait before firing the timer. This field is required. The duration is specified in seconds. The valid values are integers greater than or equal to 0.
          • *
        • *
        • cancelTimerDecisionAttributes - array - Optional - Provides details of the CancelTimer decision. It is not set for other decision types.
            *
          • timerId - string - Required - The unique Id of the timer to cancel. This field is required.
          • *
        • *
        • signalExternalWorkflowExecutionDecisionAttributes - array - Optional - Provides details of the SignalExternalWorkflowExecution decision. It is not set for other decision types.
            *
          • workflowId - string - Required - The workflowId of the workflow execution to be signaled. This field is required.
          • *
          • runId - string - Optional - The runId of the workflow execution to be signaled.
          • *
          • signalName - string - Required - The name of the signal.The target workflow execution will use the signal name and input to process the signal. This field is required.
          • *
          • input - string - Optional - Optional input to be provided with the signal.The target workflow execution will use the signal name and input to process the signal.
          • *
          • control - string - Optional - Optional data attached to the event that can be used by the decider in subsequent decision tasks.
          • *
        • *
        • requestCancelExternalWorkflowExecutionDecisionAttributes - array - Optional - Provides details of the RequestCancelExternalWorkflowExecution decision. It is not set for other decision types.
            *
          • workflowId - string - Required - The workflowId of the external workflow execution to cancel. This field is required.
          • *
          • runId - string - Optional - The runId of the external workflow execution to cancel.
          • *
          • control - string - Optional - Optional data attached to the event that can be used by the decider in subsequent workflow tasks.
          • *
        • *
        • startChildWorkflowExecutionDecisionAttributes - array - Optional - Provides details of the StartChildWorkflowExecution decision. It is not set for other decision types.
            *
          • workflowType - array - Required - The type of the workflow execution to be started. This field is required.
              *
            • name - string - Required - The name of the workflow type. This field is required.

              The combination of workflow type name and version must be unique with in a domain.

            • *
            • version - string - Required - The version of the workflow type. This field is required.

              The combination of workflow type name and version must be unique with in a domain.

            • *
          • *
          • workflowId - string - Required - The workflowId of the workflow execution. This field is required. The specified string must not start or end with whitespace. It must not contain a : (colon), / (slash), | (vertical bar), or any control characters (\u0000-\u001f | \u007f - \u009f). Also, it must not contain the literal string "arn".
          • *
          • control - string - Optional - Optional data attached to the event that can be used by the decider in subsequent workflow tasks. This data is not sent to the child workflow execution.
          • *
          • input - string - Optional - The input to be provided to the workflow execution.
          • *
          • executionStartToCloseTimeout - string - Optional - The total duration for this workflow execution. This overrides the defaultExecutionStartToCloseTimeout specified when registering the workflow type. The valid values are integers greater than or equal to 0. An integer value can be used to specify the duration in seconds while NONE can be used to specify unlimited duration.

            An execution start-to-close timeout for this workflow execution must be specified either as a default for the workflow type or through this parameter. If neither this parameter is set nor a default execution start-to-close timeout was specified at registration time then a fault will be returned.

          • *
          • taskList - array - Optional - The name of the task list to be used for decision tasks of the child workflow execution.

            A task list for this workflow execution must be specified either as a default for the workflow type or through this parameter. If neither this parameter is set nor a default task list was specified at registration time then a fault will be returned.

            The specified string must not start or end with whitespace. It must not contain a : (colon), / (slash), | (vertical bar), or any control characters (\u0000-\u001f | \u007f - \u009f). Also, it must not contain the literal string "arn".
              *
            • name - string - Required - The name of the task list.
            • *
          • *
          • taskStartToCloseTimeout - string - Optional - Specifies the maximum duration of decision tasks for this workflow execution. This parameter overrides the defaultTaskStartToCloseTimout specified when registering the workflow type using RegisterWorkflowType. The valid values are integers greater than or equal to 0. An integer value can be used to specify the duration in seconds while NONE can be used to specify unlimited duration.

            A task start-to-close timeout for this workflow execution must be specified either as a default for the workflow type or through this parameter. If neither this parameter is set nor a default task start-to-close timeout was specified at registration time then a fault will be returned.

          • *
          • childPolicy - string - Optional - If set, specifies the policy to use for the child workflow executions if the workflow execution being started is terminated by calling the TerminateWorkflowExecution action explicitly or due to an expired timeout. This policy overrides the default child policy specified when registering the workflow type using RegisterWorkflowType. The supported child policies are:
            • TERMINATE: the child executions will be terminated.
            • REQUEST_CANCEL: a request to cancel will be attempted for each child execution by recording a WorkflowExecutionCancelRequested event in its history. It is up to the decider to take appropriate actions when it receives an execution history with this event.
            • ABANDON: no action will be taken. The child executions will continue to run.

            A child policy for the workflow execution being started must be specified either as a default registered for its workflow type or through this field. If neither this field is set nor a default child policy was specified at registration time then a fault will be returned.

            [Allowed values: TERMINATE, REQUEST_CANCEL, ABANDON]
          • *
          • tagList - string|array - Optional - The list of tags to associate with the child workflow execution. A maximum of 5 tags can be specified. You can list workflow executions with a specific tag by calling ListOpenWorkflowExecutions or ListClosedWorkflowExecutions and specifying a TagFilter. Pass a string for a single value, or an indexed array for multiple values.
          • *
        • *
      • *
    • *
    • executionContext - string - Optional - User defined context to add to workflow execution.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Records a WorkflowExecutionSignaled event in the workflow execution history and
    	 * creates a decision task for the workflow execution identified by the given domain, workflowId
    	 * and runId. The event is recorded with the specified user defined signalName and input (if
    	 * provided).
    	 * 
    	 * 

    * If a runId is not specified, then the WorkflowExecutionSignaled event is recorded * in the history of the current open workflow with the matching workflowId in the domain. *

    *

    * If the specified workflow execution is not open, this method fails with * UnknownResource. *

    * Access Control * * You can use IAM policies to control this action's access to Amazon SWF resources as follows: * *
      *
    • Use a Resource element with the domain name to limit the action to only * specified domains.
    • *
    • Use an Action element to allow or deny permission to call this action.
    • *
    • You cannot use an IAM policy to constrain this action's parameters.
    • *
    * * If the caller does not have sufficient permissions to invoke the action, or the parameter * values fall outside the specified constraints, the action fails by throwing * OperationNotPermitted. For details and example IAM policies, see Using IAM to * Manage Access to Amazon SWF Workflows. * * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • domain - string - Required - The name of the domain containing the workflow execution to signal.
    • *
    • workflowId - string - Required - The workflowId of the workflow execution to signal.
    • *
    • runId - string - Optional - The runId of the workflow execution to signal.
    • *
    • signalName - string - Required - The name of the signal. This name must be meaningful to the target workflow.
    • *
    • input - string - Optional - Data to attach to the WorkflowExecutionSignaled event in the target workflow execution's history.
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Starts an execution of the workflow type in the specified domain using the provided
    	 * workflowId and input data.
    	 *  
    	 * This action returns the newly started workflow execution.
    	 *  
    	 * Access Control
    	 *  
    	 * You can use IAM policies to control this action's access to Amazon SWF resources as follows:
    	 * 
    	 * 
      *
    • Use a Resource element with the domain name to limit the action to only * specified domains.
    • *
    • Use an Action element to allow or deny permission to call this action.
    • *
    • Constrain the following parameters by using a Condition element with the * appropriate keys. *
        *
      • tagList.member.0: The key is swf:tagList.member.0.
      • *
      • tagList.member.1: The key is swf:tagList.member.1.
      • *
      • tagList.member.2: The key is swf:tagList.member.2.
      • *
      • tagList.member.3: The key is swf:tagList.member.3.
      • *
      • tagList.member.4: The key is swf:tagList.member.4.
      • *
      • taskList: String constraint. The key is * swf:taskList.name.
      • *
      • name: String constraint. The key is * swf:workflowType.name.
      • *
      • version: String constraint. The key is * swf:workflowType.version.
      • *
    • *
    * * If the caller does not have sufficient permissions to invoke the action, or the parameter * values fall outside the specified constraints, the action fails by throwing * OperationNotPermitted. For details and example IAM policies, see Using IAM to * Manage Access to Amazon SWF Workflows. * * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • domain - string - Required - The name of the domain in which the workflow execution is created.
    • *
    • workflowId - string - Required - The user defined identifier associated with the workflow execution. You can use this to associate a custom identifier with the workflow execution. You may specify the same identifier if a workflow execution is logically a restart of a previous execution. You cannot have two open workflow executions with the same workflowId at the same time. The specified string must not start or end with whitespace. It must not contain a : (colon), / (slash), | (vertical bar), or any control characters (\u0000-\u001f | \u007f - \u009f). Also, it must not contain the literal string "arn".
    • *
    • workflowType - array - Required - The type of the workflow to start.
        *
      • name - string - Required - The name of the workflow type. This field is required.

        The combination of workflow type name and version must be unique with in a domain.

      • *
      • version - string - Required - The version of the workflow type. This field is required.

        The combination of workflow type name and version must be unique with in a domain.

      • *
    • *
    • taskList - array - Optional - The task list to use for the decision tasks generated for this workflow execution. This overrides the defaultTaskList specified when registering the workflow type.

      A task list for this workflow execution must be specified either as a default for the workflow type or through this parameter. If neither this parameter is set nor a default task list was specified at registration time then a fault will be returned.

      The specified string must not start or end with whitespace. It must not contain a : (colon), / (slash), | (vertical bar), or any control characters (\u0000-\u001f | \u007f - \u009f). Also, it must not contain the literal string "arn".
        *
      • name - string - Required - The name of the task list.
      • *
    • *
    • input - string - Optional - The input for the workflow execution. This is a free form string which should be meaningful to the workflow you are starting. This input is made available to the new workflow execution in the WorkflowExecutionStarted history event.
    • *
    • executionStartToCloseTimeout - string - Optional - The total duration for this workflow execution. This overrides the defaultExecutionStartToCloseTimeout specified when registering the workflow type. The duration is specified in seconds. The valid values are integers greater than or equal to 0. Exceeding this limit will cause the workflow execution to time out. Unlike some of the other timeout parameters in Amazon SWF, you cannot specify a value of "NONE" for this timeout; there is a one-year max limit on the time that a workflow execution can run.

      An execution start-to-close timeout must be specified either through this parameter or as a default when the workflow type is registered. If neither this parameter nor a default execution start-to-close timeout is specified, a fault is returned.

    • *
    • tagList - string|array - Optional - The list of tags to associate with the workflow execution. You can specify a maximum of 5 tags. You can list workflow executions with a specific tag by calling ListOpenWorkflowExecutions or ListClosedWorkflowExecutions and specifying a TagFilter. Pass a string for a single value, or an indexed array for multiple values.
    • *
    • taskStartToCloseTimeout - string - Optional - Specifies the maximum duration of decision tasks for this workflow execution. This parameter overrides the defaultTaskStartToCloseTimout specified when registering the workflow type using RegisterWorkflowType. The valid values are integers greater than or equal to 0. An integer value can be used to specify the duration in seconds while NONE can be used to specify unlimited duration.

      A task start-to-close timeout for this workflow execution must be specified either as a default for the workflow type or through this parameter. If neither this parameter is set nor a default task start-to-close timeout was specified at registration time then a fault will be returned.

    • *
    • childPolicy - string - Optional - If set, specifies the policy to use for the child workflow executions of this workflow execution if it is terminated, by calling the TerminateWorkflowExecution action explicitly or due to an expired timeout. This policy overrides the default child policy specified when registering the workflow type using RegisterWorkflowType. The supported child policies are:
      • TERMINATE: the child executions will be terminated.
      • REQUEST_CANCEL: a request to cancel will be attempted for each child execution by recording a WorkflowExecutionCancelRequested event in its history. It is up to the decider to take appropriate actions when it receives an execution history with this event.
      • ABANDON: no action will be taken. The child executions will continue to run.

      A child policy for this workflow execution must be specified either as a default for the workflow type or through this parameter. If neither this parameter is set nor a default child policy was specified at registration time then a fault will be returned.

      [Allowed values: TERMINATE, REQUEST_CANCEL, ABANDON]
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    	/**
    	 * Records a WorkflowExecutionTerminated event and forces closure of the workflow
    	 * execution identified by the given domain, runId, and workflowId. The child policy, registered
    	 * with the workflow type or specified when starting this execution, is applied to any open child
    	 * workflow executions of this workflow execution.
    	 * 
    	 * 

    * If the identified workflow execution was in progress, it is terminated immediately. *

    *

    * If a runId is not specified, then the WorkflowExecutionTerminated event is * recorded in the history of the current open workflow with the matching workflowId in the * domain. *

    *

    * You should consider using RequestCancelWorkflowExecution action instead because it * allows the workflow to gracefully close while TerminateWorkflowExecution does not. *

    * Access Control * * You can use IAM policies to control this action's access to Amazon SWF resources as follows: * *
      *
    • Use a Resource element with the domain name to limit the action to only * specified domains.
    • *
    • Use an Action element to allow or deny permission to call this action.
    • *
    • You cannot use an IAM policy to constrain this action's parameters.
    • *
    * * If the caller does not have sufficient permissions to invoke the action, or the parameter * values fall outside the specified constraints, the action fails by throwing * OperationNotPermitted. For details and example IAM policies, see Using IAM to * Manage Access to Amazon SWF Workflows. * * @param array $opt (Optional) An associative array of parameters that can have the following keys:
      *
    • domain - string - Required - The domain of the workflow execution to terminate.
    • *
    • workflowId - string - Required - The workflowId of the workflow execution to terminate.
    • *
    • runId - string - Optional - The runId of the workflow execution to terminate.
    • *
    • reason - string - Optional - An optional descriptive reason for terminating the workflow execution.
    • *
    • details - string - Optional - Optional details for terminating the workflow execution.
    • *
    • childPolicy - string - Optional - If set, specifies the policy to use for the child workflow executions of the workflow execution being terminated. This policy overrides the child policy specified for the workflow execution at registration time or when starting the execution. The supported child policies are:
      • TERMINATE: the child executions will be terminated.
      • REQUEST_CANCEL: a request to cancel will be attempted for each child execution by recording a WorkflowExecutionCancelRequested event in its history. It is up to the decider to take appropriate actions when it receives an execution history with this event.
      • ABANDON: no action will be taken. The child executions will continue to run.

      A child policy for this workflow execution must be specified either as a default for the workflow type or through this parameter. If neither this parameter is set nor a default child policy was specified at registration time, a fault will be returned.

      [Allowed values: TERMINATE, REQUEST_CANCEL, ABANDON]
    • *
    • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
    • *
    • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
    * @return CFResponse A object containing a parsed HTTP response. */
    /*%******************************************************************************************%*/
    

    Class: SWF_Exception extends Exception {


    File: /destinations/_s3lib/aws-sdk/authentication/signable.interface.php

    /*
     * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
     *
     * Licensed under the Apache License, Version 2.0 (the "License").
     * You may not use this file except in compliance with the License.
     * A copy of the License is located at
     *
     *  http://aws.amazon.com/apache2.0
     *
     * or in the "license" file accompanying this file. This file is distributed
     * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
     * express or implied. See the License for the specific language governing
     * permissions and limitations under the License.
     */
    
    /*%******************************************************************************************%*/
    
    /**
     * The interface implemented by all signing classes.
     *
     * @version 2011.11.22
     * @license See the included NOTICE.md file for more information.
     * @copyright See the included NOTICE.md file for more information.
     * @link http://aws.amazon.com/php/ PHP Developer Center
     */
    
    	/**
    	 * Constructs a new instance of the implementing class.
    	 *
    	 * @param string $endpoint (Required) The endpoint to direct the request to.
    	 * @param string $operation (Required) The operation to execute as a result of this request.
    	 * @param array $payload (Required) The options to use as part of the payload in the request.
    	 * @param CFCredential $credentials (Required) The credentials to use for signing and making requests.
    	 * @return void
    	 */
    
    	/**
    	 * Generates a cURL handle with all of the required authentication bits set.
    	 *
    	 * @return resource A cURL handle ready for executing.
    	 */
    

    File: /destinations/_s3lib/aws-sdk/authentication/signature_v2query.class.php

    /*
     * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
     *
     * Licensed under the Apache License, Version 2.0 (the "License").
     * You may not use this file except in compliance with the License.
     * A copy of the License is located at
     *
     *  http://aws.amazon.com/apache2.0
     *
     * or in the "license" file accompanying this file. This file is distributed
     * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
     * express or implied. See the License for the specific language governing
     * permissions and limitations under the License.
     */
    
    /*%******************************************************************************************%*/
    
    /**
     * Implements support for Signature v2 (AWS Query).
     *
     * @version 2011.11.22
     * @license See the included NOTICE.md file for more information.
     * @copyright See the included NOTICE.md file for more information.
     * @link http://aws.amazon.com/php/ PHP Developer Center
     */
    
    	/**
    	 * Constructs a new instance of the  class.
    	 *
    	 * @param string $endpoint (Required) The endpoint to direct the request to.
    	 * @param string $operation (Required) The operation to execute as a result of this request.
    	 * @param array $payload (Required) The options to use as part of the payload in the request.
    	 * @param CFCredential $credentials (Required) The credentials to use for signing and making requests.
    	 * @return void
    	 */
    
    	/**
    	 * Generates a cURL handle with all of the required authentication bits set.
    	 *
    	 * @return resource A cURL handle ready for executing.
    	 */
    

    File: /destinations/_s3lib/aws-sdk/authentication/signature_v3json.class.php

    /*
     * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
     *
     * Licensed under the Apache License, Version 2.0 (the "License").
     * You may not use this file except in compliance with the License.
     * A copy of the License is located at
     *
     *  http://aws.amazon.com/apache2.0
     *
     * or in the "license" file accompanying this file. This file is distributed
     * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
     * express or implied. See the License for the specific language governing
     * permissions and limitations under the License.
     */
    
    /*%******************************************************************************************%*/
    
    /**
     * Implements support for Signature v3 (JSON).
     *
     * @version 2011.12.08
     * @license See the included NOTICE.md file for more information.
     * @copyright See the included NOTICE.md file for more information.
     * @link http://aws.amazon.com/php/ PHP Developer Center
     */
    
    	/**
    	 * Constructs a new instance of the  class.
    	 *
    	 * @param string $endpoint (Required) The endpoint to direct the request to.
    	 * @param string $operation (Required) The operation to execute as a result of this request.
    	 * @param array $payload (Required) The options to use as part of the payload in the request.
    	 * @param CFCredential $credentials (Required) The credentials to use for signing and making requests.
    	 * @return void
    	 */
    
    	/**
    	 * Generates a cURL handle with all of the required authentication bits set.
    	 *
    	 * @return resource A cURL handle ready for executing.
    	 */
    

    File: /destinations/_s3lib/aws-sdk/authentication/signature_v3query.class.php

    /*
     * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
     *
     * Licensed under the Apache License, Version 2.0 (the "License").
     * You may not use this file except in compliance with the License.
     * A copy of the License is located at
     *
     *  http://aws.amazon.com/apache2.0
     *
     * or in the "license" file accompanying this file. This file is distributed
     * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
     * express or implied. See the License for the specific language governing
     * permissions and limitations under the License.
     */
    
    /*%******************************************************************************************%*/
    
    /**
     * Implements support for Signature v3 (AWS Query).
     *
     * @version 2011.11.22
     * @license See the included NOTICE.md file for more information.
     * @copyright See the included NOTICE.md file for more information.
     * @link http://aws.amazon.com/php/ PHP Developer Center
     */
    
    	/**
    	 * Constructs a new instance of the  class.
    	 *
    	 * @param string $endpoint (Required) The endpoint to direct the request to.
    	 * @param string $operation (Required) The operation to execute as a result of this request.
    	 * @param array $payload (Required) The options to use as part of the payload in the request.
    	 * @param CFCredential $credentials (Required) The credentials to use for signing and making requests.
    	 * @return void
    	 */
    
    	/**
    	 * Generates a cURL handle with all of the required authentication bits set.
    	 *
    	 * @return resource A cURL handle ready for executing.
    	 */
    

    File: /destinations/_s3lib/aws-sdk/authentication/signature_v4json.class.php

    /*
     * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
     *
     * Licensed under the Apache License, Version 2.0 (the "License").
     * You may not use this file except in compliance with the License.
     * A copy of the License is located at
     *
     *  http://aws.amazon.com/apache2.0
     *
     * or in the "license" file accompanying this file. This file is distributed
     * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
     * express or implied. See the License for the specific language governing
     * permissions and limitations under the License.
     */
    
    /*%******************************************************************************************%*/
    
    /**
     * Implements support for Signature v4 (Query).
     *
     * @version 2011.01.03
     * @license See the included NOTICE.md file for more information.
     * @copyright See the included NOTICE.md file for more information.
     * @link http://aws.amazon.com/php/ PHP Developer Center
     */
    
    	/**
    	 * Constructs a new instance of the  class.
    	 *
    	 * @param string $endpoint (Required) The endpoint to direct the request to.
    	 * @param string $operation (Required) The operation to execute as a result of this request.
    	 * @param array $payload (Required) The options to use as part of the payload in the request.
    	 * @param CFCredential $credentials (Required) The credentials to use for signing and making requests.
    	 * @return void
    	 */
    
    	/**
    	 * Generates a cURL handle with all of the required authentication bits set.
    	 *
    	 * @return resource A cURL handle ready for executing.
    	 */
    
    	/**
    	 * Generates the authorization string to use for the request.
    	 *
    	 * @param string $datetime (Required) The current timestamp.
    	 * @return string The authorization string.
    	 */
    
    	/**
    	 * Calculate the signature.
    	 *
    	 * @param string $datetime (Required) The current timestamp.
    	 * @return string The signature.
    	 */
    
    	/**
    	 * Calculate the string to sign.
    	 *
    	 * @param string $datetime (Required) The current timestamp.
    	 * @return string The string to sign.
    	 */
    
    	/**
    	 * Generates the credential string to use for signing.
    	 *
    	 * @param string $datetime (Required) The current timestamp.
    	 * @return string The credential string.
    	 */
    
    	/**
    	 * Calculate the canonical request.
    	 *
    	 * @return string The canonical request.
    	 */
    
    	/**
    	 * The region ID to use in the signature.
    	 *
    	 * @return return The region ID.
    	 */
    
    	/**
    	 * The service ID to use in the signature.
    	 *
    	 * @return return The service ID.
    	 */
    
    	/**
    	 * The request URI path.
    	 *
    	 * @return string The request URI path.
    	 */
    
    	/**
    	 * The canonical query string.
    	 *
    	 * @return string The canonical query string.
    	 */
    
    	/**
    	 * Hex16-pack the data.
    	 *
    	 * @param string $value (Required) The data to hex16 pack.
    	 * @return string The hex16-packed data.
    	 */
    
    	/**
    	 * Applies HMAC SHA-256 encryption to the string, salted by the key.
    	 *
    	 * @return string Raw HMAC SHA-256 hashed string.
    	 */
    
    	/**
    	 * SHA-256 hashes the string.
    	 *
    	 * @return string Raw SHA-256 hashed string.
    	 */
    

    File: /destinations/_s3lib/aws-sdk/authentication/signature_v4query.class.php

    /*
     * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
     *
     * Licensed under the Apache License, Version 2.0 (the "License").
     * You may not use this file except in compliance with the License.
     * A copy of the License is located at
     *
     *  http://aws.amazon.com/apache2.0
     *
     * or in the "license" file accompanying this file. This file is distributed
     * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
     * express or implied. See the License for the specific language governing
     * permissions and limitations under the License.
     */
    
    /*%******************************************************************************************%*/
    
    /**
     * Implements support for Signature v4 (Query).
     *
     * @version 2011.01.03
     * @license See the included NOTICE.md file for more information.
     * @copyright See the included NOTICE.md file for more information.
     * @link http://aws.amazon.com/php/ PHP Developer Center
     */
    
    	/**
    	 * @var array Map of endpoints to services and regions for non-standard SignatureV4 endpoints
    	 */
    
    	/**
    	 * Constructs a new instance of the  class.
    	 *
    	 * @param string $endpoint (Required) The endpoint to direct the request to.
    	 * @param string $operation (Required) The operation to execute as a result of this request.
    	 * @param array $payload (Required) The options to use as part of the payload in the request.
    	 * @param CFCredential $credentials (Required) The credentials to use for signing and making requests.
    	 * @return void
    	 */
    
    	/**
    	 * Generates a cURL handle with all of the required authentication bits set.
    	 *
    	 * @return resource A cURL handle ready for executing.
    	 */
    
    	/**
    	 * Generates the authorization string to use for the request.
    	 *
    	 * @param string $datetime (Required) The current timestamp.
    	 * @return string The authorization string.
    	 */
    
    	/**
    	 * Calculate the signature.
    	 *
    	 * @param string $datetime (Required) The current timestamp.
    	 * @return string The signature.
    	 */
    
    	/**
    	 * Calculate the string to sign.
    	 *
    	 * @param string $datetime (Required) The current timestamp.
    	 * @return string The string to sign.
    	 */
    
    	/**
    	 * Generates the credential string to use for signing.
    	 *
    	 * @param string $datetime (Required) The current timestamp.
    	 * @return string The credential string.
    	 */
    
    	/**
    	 * Calculate the canonical request.
    	 *
    	 * @return string The canonical request.
    	 */
    
    	/**
    	 * The region ID to use in the signature.
    	 *
    	 * @return return The region ID.
    	 */
    
    	/**
    	 * The service ID to use in the signature.
    	 *
    	 * @return return The service ID.
    	 */
    
    	/**
    	 * The request URI path.
    	 *
    	 * @return string The request URI path.
    	 */
    
    	/**
    	 * The canonical query string.
    	 *
    	 * @return string The canonical query string.
    	 */
    
    	/**
    	 * Hex16-pack the data.
    	 *
    	 * @param string $value (Required) The data to hex16 pack.
    	 * @return string The hex16-packed data.
    	 */
    
    	/**
    	 * Applies HMAC SHA-256 encryption to the string, salted by the key.
    	 *
    	 * @return string Raw HMAC SHA-256 hashed string.
    	 */
    
    	/**
    	 * SHA-256 hashes the string.
    	 *
    	 * @return string Raw SHA-256 hashed string.
    	 */
    

    File: /destinations/_s3lib/aws-sdk/authentication/signer.abstract.php

    /*
     * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
     *
     * Licensed under the Apache License, Version 2.0 (the "License").
     * You may not use this file except in compliance with the License.
     * A copy of the License is located at
     *
     *  http://aws.amazon.com/apache2.0
     *
     * or in the "license" file accompanying this file. This file is distributed
     * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
     * express or implied. See the License for the specific language governing
     * permissions and limitations under the License.
     */
    
    /*%******************************************************************************************%*/
    
    /**
     * The abstract class that serves as the base class that signer classes extend.
     *
     * @version 2011.11.22
     * @license See the included NOTICE.md file for more information.
     * @copyright See the included NOTICE.md file for more information.
     * @link http://aws.amazon.com/php/ PHP Developer Center
     */
    
    	/**
    	 * The endpoint to direct the request to.
    	 */
    
    	/**
    	 * The operation to execute as a result of this request.
    	 */
    
    	/**
    	 * The options to use as part of the payload in the request.
    	 */
    
    	/**
    	 * The credentials to use for signing and making requests.
    	 */
    
    	/**
    	 * Constructs a new instance of the implementing class.
    	 *
    	 * @param string $endpoint (Required) The endpoint to direct the request to.
    	 * @param string $operation (Required) The operation to execute as a result of this request.
    	 * @param array $payload (Required) The options to use as part of the payload in the request.
    	 * @param CFCredential $credentials (Required) The credentials to use for signing and making requests.
    	 * @return void
    	 */
    

    File: /destinations/_s3lib/aws-sdk/extensions/dynamodbsessionhandler.class.php

    /*
     * Copyright 2011-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
     *
     * Licensed under the Apache License, Version 2.0 (the "License").
     * You may not use this file except in compliance with the License.
     * A copy of the License is located at
     *
     *  http://aws.amazon.com/apache2.0
     *
     * or in the "license" file accompanying this file. This file is distributed
     * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
     * express or implied. See the License for the specific language governing
     * permissions and limitations under the License.
     */
    
    /**
     * Provides an interface for using Amazon DynamoDB as a session store by hooking into
     * PHP's session handler hooks. This class is not auto-loaded, and must be included
     * manually or via the AmazonDynamoDB::register_session_hander() method.
     *
     * Once registered, You may use the native $_SESSION superglobal and
     * session functions, and the sessions will be stored automatically in DynamoDB.
     */
    
    	/**
    	 * @var AmazonDynamoDB The DyanamoDB client.
    	 */
    
    	/**
    	 * @var string The session save path (see ).
    	 */
    
    	/**
    	 * @var string The session name (see ).
    	 */
    
    	/**
    	 * @var boolean Keeps track of if the session is open.
    	 */
    
    	/**
    	 * @var boolean Keeps track of whether the session is open.
    	 */
    
    	/**
    	 * @var string The name of the DynamoDB table in which to store sessions.
    	 */
    
    	/**
    	 * @var string The name of the hash key in the DynamoDB sessions table.
    	 */
    
    	/**
    	 * @var integer The lifetime of an inactive session before it should be garbage collected.
    	 */
    
    	/**
    	 * @var boolean Whether or not the session handler should do consistent reads from DynamoDB.
    	 */
    
    	/**
    	 * @var boolean Whether or not the session handler should do session locking.
    	 */
    
    	/**
    	 * @var integer Maximum time, in seconds, that the session handler should take to acquire a lock.
    	 */
    
    	/**
    	 * @var integer Minimum time, in microseconds, that the session handler should wait to retry acquiring a lock.
    	 */
    
    	/**
    	 * @var integer Maximum time, in microseconds, that the session handler should wait to retry acquiring a lock.
    	 */
    
    	/**
    	 * @var array Type for casting the configuration options.
    	 */
    
    	/**
    	 * Initializes the session handler and prepares the configuration options.
    	 *
    	 * @param AmazonDynamoDB $dynamodb (Required) An instance of the DynamoDB client.
    	 * @param array $options (Optional) Configuration options.
    	 */
    
    	/**
    	 * Destruct the session handler and make sure the session gets written.
    	 *
    	 * NOTE: It is usually better practice to call session_write_close()
    	 * manually in your application as soon as session modifications are complete. This
    	 * is especially true if session locking is enabled (which it is by default).
    	 *
    	 * @see http://php.net/manual/en/function.session-set-save-handler.php#refsect1-function.session-set-save-handler-notes
    	 */
    
    	/**
    	 * Register DynamoDB as a session handler.
    	 *
    	 * Uses the PHP-provided method to register this class as a session handler.
    	 *
    	 * @return DynamoDBSessionHandler Chainable.
    	 */
    
    	/**
    	 * Checks if the session is open and writable.
    	 *
    	 * @return boolean Whether or not the session is still open for writing.
    	 */
    
    	/**
    	 * Delegates to session_start()
    	 *
    	 * @return DynamoDBSessionHandler Chainable.
    	 */
    
    	/**
    	 * Delegates to session_commit()
    	 *
    	 * @return DynamoDBSessionHandler Chainable.
    	 */
    
    	/**
    	 * Delegates to session_destroy()
    	 *
    	 * @return DynamoDBSessionHandler Chainable.
    	 */
    
    	/**
    	 * Open a session for writing. Triggered by .
    	 *
    	 * Part of the standard PHP session handler interface.
    	 *
    	 * @param string $save_path (Required) The session save path (see ).
    	 * @param string $session_name (Required) The session name (see ).
    	 * @return boolean Whether or not the operation succeeded.
    	 */
    
    	/**
    	 * Close a session from writing
    	 *
    	 * Part of the standard PHP session handler interface
    	 *
    	 * @return boolean Success
    	 */
    
    	/**
    	 * Read a session stored in DynamoDB
    	 *
    	 * Part of the standard PHP session handler interface
    	 *
    	 * @param string $id (Required) The session ID.
    	 * @return string The session data.
    	 */
    
    	/**
    	 * Write a session to DynamoDB.
    	 *
    	 * Part of the standard PHP session handler interface.
    	 *
    	 * @param string $id (Required) The session ID.
    	 * @param string $data (Required) The session data.
    	 * @return boolean Whether or not the operation succeeded.
    	 */
    
    	/**
    	 * Delete a session stored in DynamoDB.
    	 *
    	 * Part of the standard PHP session handler interface.
    	 *
    	 * @param string $id (Required) The session ID.
    	 * @param boolean $garbage_collect_mode (Optional) Whether or not the handler is doing garbage collection.
    	 * @return boolean Whether or not the operation succeeded.
    	 */
    
    	/**
    	 * Performs garbage collection on the sessions stored in the DynamoDB table.
    	 *
    	 * Part of the standard PHP session handler interface.
    	 *
    	 * @param integer $maxlifetime (Required) The value of session.gc_maxlifetime. Ignored.
    	 * @return boolean Whether or not the operation succeeded.
    	 */
    
    	/**
    	 * Creates a table in DynamoDB for session storage according to provided configuration options.
    	 *
    	 * Note: Table creation may also be done via the AWS Console, which might make the most sense for this use case.
    	 *
    	 * @param integer $read_capacity_units (Required) Read capacity units for table throughput.
    	 * @param integer $write_capacity_units (Required) Write capacity units for table throughput.
    	 * @return boolean Returns true on success.
    	 */
    
    	/**
    	 * Deletes the session storage table from DynamoDB.
    	 *
    	 * Note: Table deletion may also be done via the AWS Console, which might make the most sense for this use case.
    	 *
    	 * @return boolean Returns true on success.
    	 */
    
    	/**
    	 * Prefix the session ID with the session name and prepare for DynamoDB usage
    	 *
    	 * @param string $id (Required) The session ID.
    	 * @return array The HashKeyElement value formatted as an array.
    	 */
    
    	/**
    	 * Acquires a lock on a session in DynamoDB using conditional updates.
    	 *
    	 * WARNING: There is a while(true); in here.
    	 *
    	 * @param string $id (Required) The session ID.
    	 * @return CFResponse The response from DynamoDB.
    	 */
    

    File: /destinations/_s3lib/aws-sdk/extensions/s3browserupload.class.php

    /*
     * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
     *
     * Licensed under the Apache License, Version 2.0 (the "License").
     * You may not use this file except in compliance with the License.
     * A copy of the License is located at
     *
     *  http://aws.amazon.com/apache2.0
     *
     * or in the "license" file accompanying this file. This file is distributed
     * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
     * express or implied. See the License for the specific language governing
     * permissions and limitations under the License.
     */
    
    	/**
    	 * The POST operation adds an object to a specified bucket using HTML forms. POST is an alternate
    	 * form of PUT that enables browser-based uploads as a way of putting objects in buckets.
    	 * Parameters that are passed to PUT via HTTP headers are instead passed as form fields to
    	 * POST in the multipart/form-data encoded message body. You must have
    	 * WRITE access on a bucket to add an object to it. Amazon S3 never stores partial objects: if
    	 * you receive a successful response, you can be confident the entire object was stored.
    	 *
    	 * @param string $bucket (Required) The name of the bucket to use.
    	 * @param string|integer $expires (Optional) The point in time when the upload form field should expire. The default value is +1 hour.
    	 * @param array $opt (Optional) An associative array of parameters that can have the following keys: 
      *
    • acl - string - Optional - The access control setting to apply to the uploaded file. Accepts any of the following constants: [Allowed values: AmazonS3::ACL_PRIVATE, AmazonS3::ACL_PUBLIC, AmazonS3::ACL_OPEN, AmazonS3::ACL_AUTH_READ, AmazonS3::ACL_OWNER_READ, AmazonS3::ACL_OWNER_FULL_CONTROL].
    • *
    • Cache-Control - string - Optional - The Cache-Control HTTP header value to apply to the uploaded file. To use a starts-with comparison instead of an equals comparison, prefix the value with a ^ (carat) character.
    • *
    • Content-Disposition - string - Optional - The Content-Disposition HTTP header value to apply to the uploaded file. To use a starts-with comparison instead of an equals comparison, prefix the value with a ^ (carat) character.
    • *
    • Content-Encoding - string - Optional - The Content-Encoding HTTP header value to apply to the uploaded file. To use a starts-with comparison instead of an equals comparison, prefix the value with a ^ (carat) character.
    • *
    • Content-Type - string - Optional - The Content-Type HTTP header value to apply to the uploaded file. The default value is application/octet-stream. To use a starts-with comparison instead of an equals comparison, prefix the value with a ^ (carat) character.
    • *
    • Expires - string - Optional - The Expires HTTP header value to apply to the uploaded file. To use a starts-with comparison instead of an equals comparison, prefix the value with a ^ (carat) character.
    • *
    • key - string - Optional - The location where the file should be uploaded to. The default value is ${filename}.
    • *
    • success_action_redirect - string - Optional - The URI for Amazon S3 to redirect to upon successful upload.
    • *
    • success_action_status - integer - Optional - The status code for Amazon S3 to return upon successful upload.
    • *
    • x-amz-server-side-encryption - string - Optional - The server-side encryption mechanism to use. [Allowed values: AES256].
    • *
    • x-amz-storage-class - string - Optional - The storage setting to apply to the object. [Allowed values: AmazonS3::STORAGE_STANDARD, AmazonS3::STORAGE_REDUCED]. The default value is AmazonS3::STORAGE_STANDARD.
    • *
    • x-amz-website-redirect-location - string - Optional - The URI to send an HTTP 301 redirect to when accessing this object. Value must be prefixed either /, http:// or https://.
    • *
    • x-amz-meta-* - mixed - Optional - Any custom meta tag that should be set to the object.
    • *
    * @return array An array of fields that can be converted into markup. * @link http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTObjectPOST.html POST Object */
    	/*%******************************************************************************************%*/
    
    	/**
    	 * Returns the protocol of the web page that this script is currently running on. This method only works
    	 * correctly when run from a publicly-accessible web page.
    	 */
    
    	/**
    	 * Returns the domain (and port) of the web page that this script is currently running on. This method
    	 * only works correctly when run from a publicly-accessible web page.
    	 */
    
    	/**
    	 * Returns the URI of the web page that this script is currently running on. This method only works
    	 * correctly when run from a publicly-accessible web page.
    	 */
    

    File: /destinations/_s3lib/aws-sdk/extensions/s3streamwrapper.class.php

    /*
     * Copyright 2011-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
     *
     * Licensed under the Apache License, Version 2.0 (the "License").
     * You may not use this file except in compliance with the License.
     * A copy of the License is located at
     *
     *  http://aws.amazon.com/apache2.0
     *
     * or in the "license" file accompanying this file. This file is distributed
     * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
     * express or implied. See the License for the specific language governing
     * permissions and limitations under the License.
     */
    
    /**
     * Provides an interface for accessing Amazon S3 using PHP's native file management functions.
     *
     * Amazon S3 file patterns take the following form: s3://bucket/object.
     */
    
    	/**
    	 * @var array An array of AmazonS3 clients registered as stream wrappers.
    	 */
    
    	/**
    	 * Registers the S3StreamWrapper class as a stream wrapper.
    	 *
    	 * @param AmazonS3 $s3 (Optional) An instance of the AmazonS3 client.
    	 * @param string $protocol (Optional) The name of the protocol to register.
    	 * @return boolean Whether or not the registration succeeded.
    	 */
    
    	/**
    	 * Makes the given token PCRE-compatible.
    	 *
    	 * @param string $token (Required) The token
    	 * @return string The PCRE-compatible version of the token
    	 */
    
    	/**
    	 * Fetches the client for the protocol being used.
    	 *
    	 * @param string $protocol (Optional) The protocol associated with this stream wrapper.
    	 * @return AmazonS3 The S3 client associated with this stream wrapper.
    	 */
    
    	/**
    	 * Parses an S3 URL into the parts needed by the stream wrapper.
    	 *
    	 * @param string $path The path to parse.
    	 * @return array An array of 3 items: protocol, bucket, and object name ready for list().
    	 */
    
    	/**
    	 * Close directory handle. This method is called in response to .
    	 *
    	 * Since Amazon S3 doesn't have real directories, always return true.
    	 *
    	 * @return boolean
    	 */
    
    	/**
    	 * Open directory handle. This method is called in response to .
    	 *
    	 * @param string $path (Required) Specifies the URL that was passed to .
    	 * @param integer $options (Required) Not used. Passed in by .
    	 * @return boolean Returns true on success or false on failure.
    	 */
    
    	/**
    	 * This method is called in response to .
    	 *
    	 * @return string Should return a string representing the next filename, or false if there is no next file.
    	 */
    
    	/**
    	 * This method is called in response to .
    	 *
    	 * Should reset the output generated by . i.e.: The next call to
    	 *  should return the first entry in the location returned by
    	 * .
    	 *
    	 * @return boolean Returns true on success or false on failure.
    	 */
    
    	/**
    	 * Create a new bucket. This method is called in response to .
    	 *
    	 * @param string $path (Required) The bucket name to create.
    	 * @param integer $mode (Optional) Permissions. 700-range permissions map to ACL_PUBLIC. 600-range permissions map to ACL_AUTH_READ. All other permissions map to ACL_PRIVATE. Expects octal form.
    	 * @param integer $options (Optional) Ignored.
    	 * @return boolean Whether the bucket was created successfully or not.
    	 */
    
    	/**
    	 * Renames a file or directory. This method is called in response to .
    	 *
    	 * @param string $path_from (Required) The URL to the current file.
    	 * @param string $path_to (Required) The URL which the $path_from should be renamed to.
    	 * @return boolean Returns true on success or false on failure.
    	 */
    
    	/**
    	 * This method is called in response to .
    	 *
    	 * @param string $path (Required) The bucket name to create.
    	 * @param boolean $context (Optional) Ignored.
    	 * @return boolean Whether the bucket was deleted successfully or not.
    	 */
    
    	/**
    	 * NOT IMPLEMENTED!
    	 *
    	 * @param integer $cast_as
    	 * @return resource
    	 */
    
    	/**
    	 * Close a resource. This method is called in response to .
    	 *
    	 * All resources that were locked, or allocated, by the wrapper should be released.
    	 *
    	 * @return void
    	 */
    
    	/**
    	 * Tests for end-of-file on a file pointer. This method is called in response to .
    	 *
    	 * @return boolean
    	 */
    
    	/**
    	 * Flushes the output. This method is called in response to . If you have cached data in
    	 * your stream but not yet stored it into the underlying storage, you should do so now.
    	 *
    	 * Since this implementation doesn't buffer streams, simply return true.
    	 *
    	 * @return boolean Whether or not flushing succeeded
    	 */
    
    	/**
    	 * This method is called in response to , when  (when flags contains
    	 * LOCK_EX),  and when closing the stream (LOCK_UN).
    	 *
    	 * Not implemented in S3, so it's not implemented here.
    	 *
    	 * @param mode $operation
    	 * @return boolean
    	 */
    
    	/**
    	 * Opens file or URL. This method is called immediately after the wrapper is initialized
    	 * (e.g., by  and ).
    	 *
    	 * @param string $path (Required) Specifies the URL that was passed to the original function.
    	 * @param string $mode (Required) Ignored.
    	 * @param integer $options (Required) Ignored.
    	 * @param string &$opened_path (Required) Returns the same value as was passed into $path.
    	 * @return boolean Returns true on success or false on failure.
    	 */
    
    	/**
    	 * Read from stream. This method is called in response to  and .
    	 *
    	 *
    	 *
    	 * It is important to avoid reading files that are near to or larger than the amount of memory
    	 * allocated to PHP, otherwise "out of memory" errors will occur.
    	 *
    	 * @param integer $count (Required) Always equal to 8192. PHP is fun, isn't it?
    	 * @return string The contents of the Amazon S3 object.
    	 */
    
    	/**
    	 * Seeks to specific location in a stream. This method is called in response to . The read/write
    	 * position of the stream should be updated according to the $offset and $whence
    	 * parameters.
    	 *
    	 * @param integer $offset (Required) The number of bytes to offset from the start of the file.
    	 * @param integer $whence (Optional) Ignored. Always uses SEEK_SET.
    	 * @return boolean Whether or not the seek was successful.
    	 */
    
    	/**
    	 * @param integer $option
    	 * @param integer $arg1
    	 * @param integer $arg2
    	 * @return boolean
    	 */
    
    	/**
    	 * Retrieve information about a file resource.
    	 *
    	 * @return array Returns the same data as a call to .
    	 */
    
    	/**
    	 * Retrieve the current position of a stream. This method is called in response to .
    	 *
    	 * @return integer Returns the current position of the stream.
    	 */
    
    	/**
    	 * Write to stream. This method is called in response to .
    	 *
    	 * It is important to avoid reading files that are larger than the amount of memory allocated to PHP,
    	 * otherwise "out of memory" errors will occur.
    	 *
    	 * @param string $data (Required) The data to write to the stream.
    	 * @return integer The number of bytes that were written to the stream.
    	 */
    
    	/**
    	 * Delete a file. This method is called in response to .
    	 *
    	 * @param string $path (Required) The file URL which should be deleted.
    	 * @return boolean Returns true on success or false on failure.
    	 */
    
    	/**
    	 * This method is called in response to all  related functions.
    	 *
    	 * @param string $path (Required) The file path or URL to stat. Note that in the case of a URL, it must be a :// delimited URL. Other URL forms are not supported.
    	 * @param integer $flags (Required) Holds additional flags set by the streams API. This implementation ignores all defined flags.
    	 * @return array Should return as many elements as  does. Unknown or unavailable values should be set to a rational value (usually 0).
    	 */
    
    		/*
    		Type & Permission bitwise values (only those that pertain to S3).
    		Simulate the concept of a "directory". Nothing has an executable bit because there's no executing on S3.
    		Reference: http://docstore.mik.ua/orelly/webprog/pcook/ch19_13.htm
    
    		0100000 => type:   regular file
    		0040000 => type:   directory
    		0000400 => owner:  read permission
    		0000200 => owner:  write permission
    		0000040 => group:  read permission
    		0000020 => group:  write permission
    		0000004 => others: read permission
    		0000002 => others: write permission
    		*/
    

    File: /destinations/s3/_configure.php

    /*
    	Pre-populated variables coming into this script:
    		$destination_settings
    		$mode
    */
    

    File: /destinations/s3/_manage.php

    	/*
    	Unsure whether to include this here or not?
    	if ( FALSE === ( strpos( $file, 'backup-' . $prefix . '-' ) ) ) { // Not a backup for THIS site. Skip.
    		continue;
    	}
    	*/
    

    File: /destinations/s3/init.php

    Class: pb_backupbuddy_destination_s3 { // Change class name end to match destination name

    	/*	send()
    	 *	
    	 *	Send one or more files.
    	 *	
    	 *	@param		array			$files			Array of one or more files to send.
    	 *	@return		boolean|array					True on success, false on failure, array if a multipart chunked send so there is no status yet.
    	 */
    
    	/*	test()
    	 *	
    	 *	Tests ability to write to this remote destination.
    	 *	
    	 *	@param		array			$settings	Destination settings.
    	 *	@return		bool|string					True on success, string error message on failure.
    	 */
    
    	/* download_file()
    	 *
    	 * Download remote file to local system.
    	 *
    	 * @param	array 		$settings				Destination settings.
    	 * @param	string		$remoteFile				Remote filename.
    	 * @param	string		$localDestinationFile	Full path & filename of destination file.
    	 *
    	 */
    
    	/*	get_credentials()
    	 *	
    	 *	Get the required credentials and management data for managing user files.
    	 *	
    	 *	@return		false|array			Boolean false on failure. Array of data on success.
    	 */
    
    	/*	get_remote_path()
    	 *	
    	 *	Returns the site-specific remote path to store into.
    	 *	Slashes (caused by subdirectories in url) are replaced with underscores.
    	 *	Always has a leading and trailing slash.
    	 *	
    	 *	@return		string			Ex: /dustinbolton.com_blog/
    	 */
    
    	/*	get_bucket_region()
    	 *	
    	 *	Gets the region in which the specified Amazon S3 bucket is located.
    	 *	This is a fixed up version of the Amazon SDK 1.6.2 method in s3.class.php
    	 *	which is broken under PHP 5.4 because of a broken to_string() function
    	 *	that returns a null value. This replacement avoids a direct string cast of the
    	 *	response body and does an array cast instead and that gives us the correct
    	 *	string value to put back into the response body.
    	 *
    	 *	The AmazonS3 object passed in must have already had credentials supplied
    	 *	
    	 *	@param	object	$s3		(Required) The instantiated AmazonS3 object to use
    	 *	@param	string	$bucket	(Required) The name of the bucket to use.
    	 *	@param	array	$opt	(Optional) An associative array of parameters
    	 *
    	 *	@return	CFResponse		A  object containing a parsed HTTP response.
    	 */
    
    	/* multipart_cleanup()
    	 *
    	 * S3 does NOT automatically clean up failred or expired multipart chunk files so clean up for them.
    	 *
    	 */
    
    	/* _prepareBucketAndRegion()
    	 *
    	 * Validates bucket existance, creating if needed.  Sets region for non-US usage.
    	 *
    	 * @param	object		&$s3			S3 object currently in use. Pased by reference so region can be set.
    	 * @param	array 		$settings		Destination settings array.
    	 * @param	bool		$createBucket	Whether or not to create bucket if it does not currently exist.
    	 * @return	bool						true on all okay, false otherwise.
    	 *
    	 */
    

    File: /destinations/stash/_configure.php

    /*
    	Pre-populated variables coming into this script:
    		$destination_settings
    		$mode
    */
    

    File: /destinations/stash/_manage.php

    	/*
    	$stash_password = get_transient( 'pb_backupbuddy_stashallfiles_' . $current_user->user_login );
    	echo 'pass: ' . $stash_password;
    	*/
    
    /*
    echo '
    ';
    print_r( $account_info );
    echo '
    '; */

    File: /destinations/stash/init.php

    Class: pb_backupbuddy_destination_stash { // Change class name end to match destination name

    	/*	send()
    	 *	
    	 *	Send one or more files.
    	 *	
    	 *	@param		array			$files			Array of one or more files to send.
    	 *	@return		boolean|array					True on success, false on failure, array if a multipart chunked send so there is no status yet.
    	 */
    
    	/*	get_manage_data()
    	 *	
    	 *	Get the required credentials and management data for managing user files.
    	 *	
    	 *	@return		false|array			Boolean false on failure. Array of data on success.
    	 */
    
    	/*	get_remote_path()
    	 *	
    	 *	Returns the site-specific remote path to store into.
    	 *	Slashes (caused by subdirectories in url) are replaced with underscores.
    	 *	Always has a leading and trailing slash.
    	 *	
    	 *	@return		string			Ex: /dustinbolton.com_blog/
    	 */
    
    	/*	get_quota_bar()
    	 *	
    	 *	Returns the progress quota bar showing usage.
    	 *	
    	 *	@return		string			HTML for the quota bar.
    	 */
    

    File: /destinations/stash/lib/class.itx_helper.php


    File: /destinations/stash/lib/exception-list.php


    File: /classes/_migrate_database.php

    /**
     *	_migrate_database.php
     *
     *	Handles all SQL data migration for both importbuddy and multisite importing.
     *	Handles updating paths, URLs, etc.
     *	
     *	Version: 1.0.1
     *	Author: Dustin Bolton
     *	Author URI: http://dustinbolton.com/
     *
     *	REQUIREMENTS:
     *
     *	1) Set up the variable $destination_type to the destination type if non-standalone (default) or Multisite Network (auto-detected). Valid values: standalone, multisite_import, multisite_network
     *	2) Mysql should already be connected.
     *	3) pb_backupbuddy::$options['dat_file'] should be initialized with the DAT file array.
     *	4) If migrating a network -> network then set up the variable $multisite_network_db_prefix to be the database prefix of the network. Needed to access users tables.
     *	5) If multisite_import is DESTINATION then $wp_upload_dir (upload_path option), $wp_upload_url (fileupload_url option) must be set.
     *
     *	USED BY:
     *
     *	1) ImportBuddy
     *	2) Multisite Import / Restore
     *	3) Future: RepairBuddy?
     *
     */
    
    	/*
    	if ( isset( pb_backupbuddy::$options['domain'] ) ) {
    		$destination_domain = pb_backupbuddy::$options['domain'];
    	}
    	
    	// Currently we don't allow changing the Network path.
    	if ( isset( pb_backupbuddy::$options['dat_file'][ 'path' ] ) ) {
    		$destination_path = pb_backupbuddy::$options['dat_file'][ 'path' ]; // Set new Network path to equal old network path.
    	}
    	*/
    
    	/*	array_pairs_unique_first()
    	 *	
    	 *	Takes two arrays. Looks for any duplicate values in the first array. That item is removed. The corresponding item in the second array is removed also.
    	 *	Resets indexes as a courtesy while maintaining order.
    	 *	
    	 *	@param		array		$a		First array to make unique.
    	 *	@param		array		$b		Second array that has items removed that were in the same position as the removed duplicates found in $a.
    	 *	@return		
    	 */
    

    File: /classes/_periodicCleanup.php

    /***** BEGIN CLEANUP LOGS *****/
    
    /***** END CLEANUP LOGS *****/
    
    	/*
    	if ( true === $cleanup_result ) {
    		pb_backupbuddy::status( 'details', 'S3 Multipart Chunking Cleanup Success.' );
    	} else {
    		pb_backupbuddy::status( 'error', 'S3 Multipart Chunking Cleanup FAILURE. Manually cleanup stalled multipart send via S3 or try again later.' );
    	}
    	*/
    

    File: /classes/_restoreFiles.php

    Class: backupbuddy_restore_files

    	/* restore()
    	 *
    	 * Restore one or more files to a path.
    	 *
    	 * @param	$archive_file	Backup zip archive file to restore files from.
    	 * @param	$files			Array of files to restore. Each key and value must be the same. Format: array( 'filename.txt' => 'filename.txt' );
    	 * @param	$finalPath		Destination path to extract into.
    	 * @return	bool			True on success, else false.
    	 *
    	 */
    

    File: /classes/_rollback_undo.php

    /* BackupBuddy script to undo a database rollback procedure if it has failed.
     * Access this script in your web browser to undo a rollback.
     *
     * @author Dustin Bolton, January 2014.
     * @url http://ithemes.com
     *
     * NOTES:
     * 	-- This will only seek out wp-config.php in the current DIR or up one level. If this file is not in the root then it is innert.
     * 	-- No user-editable variables within. No user-submitted data is used for any processing.
     */
    

    File: /classes/api.php

    Class: backupbuddy_api

    	/* getLastError() -- NOT YET IMPLEMENTED.
    	 *
    	 * Retrieve the last error the API encountered. Use if a method returned bool FALSE to get message.
    	 *
    	 */
    

    File: /classes/backup.php

    /*	pb_backupbuddy_backup class
     *	
     *	Handles the actual backup procedures.
     *	
     *	USED BY:
     *
     *	1) Full & DB backups
     *	2) Multisite backups & exports
     *
     */
    

    Class: pb_backupbuddy_backup

    	/*	__construct()
    	 *	
    	 *	Default contructor. Initialized core and zipbuddy classes.
    	 *	
    	 *	@return		null
    	 */
    
    	/*	shutdown_function()
    	 *	
    	 *	Used for catching fatal PHP errors during backup to write to log for debugging.
    	 *	
    	 *	@return		null
    	 */
    
    	/*	start_backup_process()
    	 *	
    	 *	Initializes the entire backup process.
    	 *	
    	 *	@param		array		$profile			Backup profile array. Previously (pre-4.0): Valid values: db, full, export.
    	 *	@param		string		$trigger			What triggered this backup. Valid values: scheduled, manual.
    	 *	@param		array		$pre_backup			Array of functions to prepend to the backup steps array.
    	 *	@param		array		$post_backup		Array of functions to append to the backup steps array. Ie. sending to remote destination.
    	 *	@param		string		$schedule_title		Title name of schedule. Used for tracking what triggered this in logging. For debugging.
    	 *	@param		string		$serial_override	If provided then this serial will be used instead of an auto-generated one.
    	 *	@param		array		$export_plugins		For use in export backup type. List of plugins to export.
    	 *	@return		boolean							True on success; false otherwise.
    	 */
    
    	/*	pre_backup()
    	 *	
    	 *	Set up the backup data structure containing steps, set up temp directories, etc.
    	 *	
    	 *	@param		array		$profile			Backup profile array data. Prev (pre-4.0):	Backup type. Valid values: db, full, export.
    	 *	@param		string		$trigger			What triggered this backup. Valid values: scheduled, manual.
    	 *	@param		array		$pre_backup			Array of functions to prepend to the backup steps array.
    	 *	@param		array		$post_backup		Array of functions to append to the backup steps array. Ie. sending to remote destination.
    	 *	@param		string		$schedule_title		Title name of schedule. Used for tracking what triggered this in logging. For debugging.
    	 *	@param		array		$export_plugins		For use in export backup type. List of plugins to export.
    	 *	@return		boolean							True on success; false otherwise.
    	 */
    
    		/*
    		if ( $profile['compression'] == '1' ) {
    			$profile['compression'] = true;
    		} else {
    			$profile['compression'] = false;
    		}
    		*/
    
    		/********* Begin setting up steps array. *********/
    
    		/********* End setting up steps array. *********/
    
    		/********* Begin directory creation and security. *********/
    
    		/********* End directory creation and security *********/
    
    	/*	process_backup()
    	 *	
    	 *	Process and run the next backup step.
    	 *	
    	 *	@param		string		$serial		Unique backup identifier.
    	 *	@param		string		$trigger	What triggered this processing: manual or scheduled.
    	 *	@return		boolean					True on success, false otherwise.
    	 */
    
    		/********* Begin Running Step Function **********/
    
    		/********* End Running Step Function **********/
    
    	/*	cron_next_step()
    	 *	
    	 *	Schedule the next step into the cron. Defaults to scheduling to happen _NOW_. Automatically opens a loopback to trigger cron in another process by default.
    	 *	
    	 *	@param		boolean		$spawn_cron			Whether or not to to spawn a loopback to run the cron. If using an offset this most likely should be false. Default: true
    	 *	@param		int			$future_offset		Seconds in the future for this process to run. Most likely set $spawn_cron false if using an offset. Default: 0
    	 *	@return		null
    	 */
    
    	/*	backup_create_dat_file()
    	 *	
    	 *	Generates backupbuddy_dat.php within the temporary directory containing the
    	 *	random serial in its name. This file contains a serialized array that has been
    	 *	XOR encrypted for security.  The XOR key is backupbuddy_SERIAL where SERIAL
    	 *	is the randomized set of characters in the ZIP filename. This file contains
    	 *	various information about the source site.
    	 *	
    	 *	@param		string			$trigger			What triggered this backup. Valid values: scheduled, manual.
    	 *	@return		boolean			true on success making dat file; else false
    	 */
    
    	/*	backup_create_database_dump()
    	 *	
    	 *	Prepares configuration and passes to the mysqlbuddy library to handle backing up the database.
    	 *	Automatically handles falling back to compatibility modes.
    	 *	
    	 *	@return		boolean				True on success; false otherwise.
    	 */
    
    		/*
    		// REMOVED 3-3-2014. PHP dump now checks connection status after each table and command line is not related to this. Settings are all stored in fileoptions so this is no longer relevant.
    		
    		global $wpdb;
    		if ( @mysql_ping( $wpdb->dbh ) === false ) { // No longer connected to database if false.
    			pb_backupbuddy::status( 'error', __( 'ERROR #9027b: The mySQL server went away at some point during the database dump step. This is almost always caused by mySQL running out of memory or the mysql server timing out far too early. Contact your host. The database dump integrity can no longer be guaranteed so the backup has been halted.' ) );
    			if ( $result === true ) {
    				pb_backupbuddy::status( 'details', 'The database dump reported SUCCESS prior to this problem.' );
    			} else {
    				pb_backupbuddy::status( 'details', 'The database dump reported FAILURE prior to this problem.' );
    			}
    			pb_backupbuddy::status( 'haltScript', '' ); // Halt JS on page.
    			return false;
    		}
    		*/
    
    	/*	backup_zip_files()
    	 *	
    	 *	Create ZIP file containing everything.
    	 *	
    	 *	@return		boolean			True on success; false otherwise.
    	 */
    
    	/*	trim_old_archives()
    	 *	
    	 *	Get rid of excess archives based on user-defined parameters.
    	 *	
    	 *	@param		
    	 *	@return		
    	 */
    
    	/* integrity_check()
    	 *
    	 * Perform integrity check on backup file to confirm backup.
    	 *
    	 */
    
    	/*	post_backup()
    	 *	
    	 *	Post-backup procedured. Clean up, send notifications, etc.
    	 *	
    	 *	@return		null
    	 */
    
    	/*	send_remote_destination()
    	 *	
    	 *	Send the current backup to a remote destination such as S3, Dropbox, FTP, etc.
    	 *	Scheduled remote sends end up coming through here before passing to core.
    	 *	
    	 *	@param		int		$destination_id		Destination ID (remote destination array index) to send to.
    	 *	@param		boolean	$delete_after		Whether or not to delete backup file after THIS successful remote transfer.
    	 *	@return		boolean						Returns result of pb_backupbuddy::send_remote_destination(). True (success) or false (failure).
    	 */
    
    	/*	post_remote_delete()
    	 *	
    	 *	Deletes backup archive. Used to delete the backup after sending to a remote destination for scheduled backups.
    	 *	
    	 *	@return		boolean		True on deletion success; else false.
    	 */
    
    	/********* BEGIN MULTISITE (Exporting subsite; creates a standalone backup) *********/
    
    	/*	ms_download_extract_wordpress()
    	 *	
    	 *	Used by Multisite Exporting.
    	 *	Downloads and extracts the latest WordPress for making a standalone backup of a subsite.
    	 *	Authored by Ron H. Modified by Dustin B.
    	 *	
    	 *	@return		boolean		True on success, else false.
    	 */
    
    	/*	ms_create_wp_config()
    	 *	
    	 *	Used by Multisite Exporting.
    	 *	Creates a standalone wp-config.php file for making a standalone backup from a subsite.
    	 *	Authored by Ron H. Modified by Dustin B.
    	 *	
    	 *	@return		boolean			Currently only returns true.
    	 */
    
    		$to_file .= "/** Sets up WordPress vars and included files. */\n
    
    	/*	ms_copy_plugins()
    	 *	
    	 *	Used by Multisite Exporting.
    	 *	Copies over the selected plugins for inclusion into the backup for creating a standalone backup from a subsite.
    	 *	Authored by Ron H. Modified by Dustin B.
    	 *	
    	 *	@return		boolean			True on success, else false.
    	 */
    
    	/*	ms_copy_themes()
    	 *	
    	 *	Used by Multisite Exporting.
    	 *	Copies over the selected themes for inclusion into the backup for creating a standalone backup from a subsite.
    	 *	Authored by Ron H. Modified by Dustin B.
    	 *	
    	 *	@return		boolean			True on success, else false.
    	 */
    
    	/*	ms_copy_media()
    	 *	
    	 *	Used by Multisite Exporting.
    	 *	Copies over media (wp-content/uploads) for this site for inclusion into the backup for creating a standalone backup from a subsite.
    	 *	Authored by Ron H. Modified by Dustin B.
    	 *	
    	 *	@return		boolean			True on success, else false.
    	 */
    
    	/*	ms_copy_users_table()
    	 *	
    	 *  Step 7
    	 *	Used by Multisite Exporting.
    	 *	Copies over users to a temp table for this site for inclusion into the backup for creating a standalone backup from a subsite.
    	 *	Authored by Ron H. Modified by Dustin B.
    	 *	
    	 *	@return		boolean			Currently only returns true.
    	 */
    
    	/********* END MULTISITE *********/
    
    	/*	_calculate_tables()
    	 *	
    	 *	Takes a base level to calculate tables from.  Then adds additional tables.  Then removes any exclusions. Returns array of final table listing to backup.
    	 *	
    	 *	@see dump().
    	 *	
    	 *	@param		string		$base_dump_mode			Determines which database tables to dump by default. Valid values:  all, none, prefix
    	 *	@param		array		$additional_includes	Array of additional table(s) to INCLUDE in dump. Added in addition to those found by the $base_dump_mode
    	 *	@param		array		$additional_excludes	Array of additional table(s) to EXCLUDE from dump. Removed from those found by the $base_dump_mode + $additional_includes.
    	 *	@return		array								Array of tables to backup.
    	 */
    

    File: /classes/core.php

    Class: backupbuddy_core

    	/*	is_network_activated()
    	 *	
    	 *	Returns a boolean indicating whether a plugin is network activated or not.
    	 *	
    	 *	@return		boolean			True if plugin is network activated, else false.
    	 */
    
    	/*	backup_integrity_check()
    	 *	
    	 *	Scans a backup file and saves the result in data structure. Checks for key files & that .zip can be read properly. Stores results with details in data structure.
    	 *	
    	 *	@param		string		$file			Full pathname & filename to backup file to check.
    	 *	@param		obj			$fileoptions	fileoptions object currently holding the fileoptions file open, if any.
    	 *	@param		array 		$options		Array of options.
    	 *	@return		array						Returns integrity data array.
    	 */
    
    	/*	get_serial_from_file()
    	 *	
    	 *	Returns the backup serial based on the filename.
    	 *	
    	 *	@param		string		$file		Filename containing a serial to extract.
    	 *	@return		string					Serial found.
    	 */
    
    	/**
    	 * versions_confirm()
    	 *
    	 * Check the version of an item and compare it to the minimum requirements BackupBuddy requires.
    	 *
    	 * @param		string		$type		Optional. If left blank '' then all tests will be performed. Valid values: wordpress, php, ''.
    	 * @param		boolean		$notify		Optional. Whether or not to alert to the screen (and throw error to log) of a version issue.\
    	 * @return		boolean					True if the selected type is a bad version
    	 */
    
    	/* getBackupDirectory()			backupbuddy_core::getBackupDirectory()
    	 *
    	 * Retrieve directory for storing backups within.
    	 *
    	 * @return	string		Full path to directory, including trailing slash.
    	 *
    	 */
    
    	/* getLogDirectory()			backupbuddy_core::getLogDirectory()
    	 *
    	 * Retrieve directory for storing logs within.
    	 *
    	 * @return	string		Full path to directory, including trailing slash.
    	 *
    	 */
    
    	/* getTempDirectory()			backupbuddy_core::getTempDirectory()
    	 *
    	 * Retrieve temporary directory for storing temporary files within.
    	 *
    	 * @return	string		Full path to directory, including trailing slash.
    	 *
    	 */
    
    	/* _getBackupDirectoryDefault()
    	 *
    	 * Default directory backups will be stored in. getBackupDirectory() uses this as the default if no path is specifically set.
    	 *
    	 * @return	string		Full path to directory, including trailing slash.
    	 *
    	 */
    
    	/*	get_directory_exclusions()
    	 *	
    	 *	Get sanitized directory exclusions. Exclusions are relative to site root (ABSPATH). See important note below!
    	 *	IMPORTANT NOTE: Cannot exclude the temp directory here as this is where SQL and DAT files are stored for inclusion in the backup archive.
    	 *	
    	 *	@param		array 	$profile		Profile array of data.
    	 *	@param		bool	$trim_suffix	True (default) if trailing slash should be trimmed from directories
    	 *	@param		string	$serial			Optional serial of current backup. By default all subdirectories within the backupbuddy_temp dir are explicitly excluded. Specifying allows this serial subdirectory to not be excluded.
    	 *	@return		array					Array of directories to exclude.
    	 */
    
    	/*	mail_error()
    	 *	
    	 *	Sends an error email to the defined email address(es) on settings page.
    	 *	
    	 *	@param		string			$message	Message to be included in the body of the email.
    	 *	@param		string			$override_recipient	Email address(es) to send to instead of the normal recipient.
    	 *	@param		string|array 	String or array of filename(s) to send as email attachments.
    	 *	@return		null
    	 */
    
    	/*	mail_notify_scheduled()
    	 *	
    	 *	Sends a message email to the defined email address(es) on settings page.
    	 *	
    	 *	@param		string		$start_or_complete	Whether this is the notifcation for starting or completing. Valid values: start, complete
    	 *	@param		string		$message			Message to be included in the body of the email.
    	 *	@return		null
    	 */
    
    	/*	backup_prefix()
    	 *	
    	 *	Strips all non-file-friendly characters from the site URL. Used in making backup zip filename.
    	 *	
    	 *	@return		string		The filename friendly converted site URL.
    	 */
    
    	/* get_remote_send_defaults()
    	 *
    	 * Get default array values for the remote_sends fileoptions files.
    	 * @return		array
    	 *
    	 */
    
    	/*	send_remote_destination()
    	 *	
    	 *	function description
    	 *	
    	 *	@param		int		$destination_id		ID number (index of the destinations array) to send it.
    	 *	@param		string	$file				Full file path of file to send.
    	 *	@param		string	$trigger			What triggered this backup. Valid values: scheduled, manual.
    	 *	@param		bool	$send_importbuddy	Whether or not importbuddy.php should also be sent with the file to destination.
    	 *	@param		bool	$delete_after		Whether or not to delete after send success after THIS send.
    	 *	@return		bool						Send status. true success, false failed.
    	 */
    
    	/*	destination_send()
    	 *	
    	 *	Send file(s) to a destination. Pass full array of destination settings.
    	 *	
    	 *	@param		array		$destination_settings		All settings for this destination for this action.
    	 *	@param		array		$files						Array of files to send (full path).
    	 *	@return		bool|array								Bool true = success, bool false = fail, array = multipart transfer.
    	 */
    
    	/*	backups_list()
    	 *	
    	 *	function description
    	 *	
    	 *	@param		string		$type			Valid options: default, migrate
    	 *	@param		boolean		$subsite_mode	When in subsite mode only backups for that specific subsite will be listed.
    	 *	@return		
    	 */
    
    		$output .= "\n $pack_destination ) {
    			$pack_source = '/' . $pack_source;
    			if ( is_dir( pb_backupbuddy::plugin_path() . $pack_source ) ) {
    				$files = pb_backupbuddy::$filesystem->deepglob( pb_backupbuddy::plugin_path() . $pack_source );
    			} else {
    				$files = array( pb_backupbuddy::plugin_path() . $pack_source );
    			}
    			foreach( $files as $file ) {
    				if ( is_file( $file ) ) {
    					$source = str_replace( pb_backupbuddy::plugin_path(), '', $file );
    					$destination = $pack_destination . substr( $source, strlen( $pack_source ) );
    					$output .= "###PACKDATA,FILE_START,{$source},{$destination}\n";
    					$output .= base64_encode( file_get_contents( $file ) );
    					$output .= "\n";
    					$output .= "###PACKDATA,FILE_END,{$source},{$destination}\n";
    				}
    			}
    		}
    		$output .= "###PACKDATA,END\n*/";
    
    		$output .= "\n $pack_destination ) {
    			$pack_source = '/' . $pack_source;
    			if ( is_dir( pb_backupbuddy::plugin_path() . $pack_source ) ) {
    				$files = pb_backupbuddy::$filesystem->deepglob( pb_backupbuddy::plugin_path() . $pack_source );
    			} else {
    				$files = array( pb_backupbuddy::plugin_path() . $pack_source );
    			}
    			foreach( $files as $file ) {
    				if ( is_file( $file ) ) {
    					$source = str_replace( pb_backupbuddy::plugin_path(), '', $file );
    					$destination = $pack_destination . substr( $source, strlen( $pack_source ) );
    					$output .= "###PACKDATA,FILE_START,{$source},{$destination}\n";
    					$output .= base64_encode( file_get_contents( $file ) );
    					$output .= "\n";
    					$output .= "###PACKDATA,FILE_END,{$source},{$destination}\n";
    				}
    			}
    		}
    		$output .= "###PACKDATA,END\n*/";
    
    	/* pretty_destination_type()
    	 *
    	 * Take a destination type slug and change it into a user-friendly display of the destination type.
    	 *
    	 * @param	string		Internal destination slug. Eg: s3
    	 * @return	string		Friendly destination title. Eg: Amazon S3
    	 *
    	 */
    
    	/* build_icicle()
    	 *
    	 * Build directory tree for use with the "icicle" javascript library for the graphical directory display on Server Tools page.
    	 *
    	 * @param	string	$dir			
    	 * @param	?		$base			
    	 * @param	?		$icicle_json	
    	 * @param	int		$max_depth		Maximum depth of tree to display.  Note that deeper depths are still traversed for size calculations. Default: 10
    	 * @param	int		$depth_count	Default: 0
    	 * @param	bool	$is_root		Default: true
    	 *
    	 */
    
    		/***** BEGIN LOOKING FOR UNFINISHED RECENT BACKUPS *****/
    
    		/***** END LOOKING FOR UNFINISHED RECENT BACKUPS *****/
    
    		/***** BEGIN LOOKING FOR BACKUP FILES IN SITE ROOT *****/
    
    		/***** END LOOKING FOR BACKUP FILES IN SITE ROOT *****/
    
    	/*	loopback_test()
    	 *	
    	 *	Connects back to same site via AJAX call to an AJAX slug that has NOT been registered.
    	 *	WordPress AJAX returns a -1 (or 0 in newer version?) for these. Also not logged into
    	 *	admin when connecting back. Checks to see if body contains -1 / 0. If loopbacks are not
    	 *	enabled then will fail connecting or do something else.
    	 *	
    	 *	
    	 *	@param		
    	 *	@return		boolean		True on success, string error message otherwise.
    	 */
    
    	/* get_wordpress_locations()
    	 *
    	 * Get an array of subdirectories where potential WordPress installations have been detected.
    	 *
    	 * @return	array	Array of full paths, WITHOUT trailing slashes.
    	 *
    	 */
    
    	/* get_wordpress_locations()
    	 *
    	 * Get an array of subdirectories where potential WordPress installations have been detected.
    	 *
    	 * @return	array	Array of full paths, WITHOUT trailing slashes.
    	 *
    	 */
    
    	/* periodic_cleanup()
    	 *
    	 * Periodic housekeeping cleanup function to clean up after BackupBuddy. Clean up orphaned files, data structure,
    	 * old log files, etc. Also verifies anti-directory browsing files exist in expected locations and any potential
    	 * problems are handled.
    	 *
    	 * @param	int		$backup_age_limit		Maximum age (in seconds) to allow logs or other transient files/structures to exist after no longer needed. Default: 172800 (48 hours).
    	 * @param	bool	$die_on_fail			Whether or not to die fatally if something goes wrong (such as unable to make anti-directory browsing files).
    	 *
    	 */
    
    	/* final_cleanup()
    	 *
    	 * Final cleanup scheduled by each backup for cleaning up in the future. Helps catch failed backups.
    	 *
    	 * @param	string	$serial		Unique backup serial which we will be cleaning up for.
    	 * @return	null
    	 *
    	 */
    
    	/*	trim_remote_send_stats()
    	 *	
    	 *	Handles trimming the number of remote sends to the most recent ones.
    	 *	Recent transfer logs are kept for DOUBLe the max age as they are important for troubleshooting.
    	 *	
    	 *	@return		null
    	 */
    
    	/*	get_site_size()
    	 *	
    	 *	Returns an array with the site size and the site size sans exclusions. Saves updates stats in options.
    	 *	
    	 *	@return		array		Index 0: site size; Index 1: site size sans excluded files/dirs.; Index 2: Total number of objects (files+folders); Index 3: Total objects sans excluded files/folders.
    	 */
    
    	/*	get_database_size()
    	 *	
    	 *	Return array of database size, database sans exclusions.
    	 *	
    	 *	@return		array			Index 0: db size, Index 1: db size sans exclusions.
    	 */
    
    	/* kick_db()
    	 *
    	 * Attempt to verify the database server is still alive and functioning.  If not, try to re-establish connection.
    	 *
    	 */
    
    	/* verify_directories()
    	 *
    	 * Verify existance and security of key directories. Result available via global $pb_backupbuddy_directory_verification with return value.
    	 *
    	 * @return		bool		true on success creating / verifying, else false.
    	 *
    	 */
    
    	/* schedule_single_event()
    	 *
    	 * API to wp_schedule_single_event() that also verifies that the schedule actually got created in WordPRess.
    	 * Sometimes the database rejects this update so we need to do actual verification.
    	 *
    	 * @return	boolean			True on verified schedule success, else false.
    	 */
    
    	/* schedule_event()
    	 *
    	 * API to wp_schedule_event() that also verifies that the schedule actually got created in WordPRess.
    	 * Sometimes the database rejects this update so we need to do actual verification.
    	 *
    	 * @return	boolean			True on verified schedule success, else false.
    	 */
    
    	/* unschedule_event()
    	 *
    	 * API to wp_unschedule_event() that also verifies that the schedule actually got removed WordPRess.
    	 * Sometimes the database rejects this update so we need to do actual verification.
    	 *
    	 * @return	boolean			True on verified schedule deletion success, else false.
    	 */
    
    	/* normalize_comment_data()
    	 *
    	 * Handle normalizing zip comment data, defaults, etc.
    	 *
    	 * @param	array	$comment	Array of meta data to normalize & apply defaults to.
    	 * @return	array				Normalized array.
    	 */
    
    	/* add_backup_schedule()
    	 *
    	 * Adds a new schedule for backing up.
    	 *
    	 * @param	string			$title					Schedule title (user-friendly name).
    	 * @param	int				$profile				Profile ID.
    	 * @param	string			$interval				WordPress schedule interval for cron (ie weekly, daily, hourly, etc).
    	 * @param	int				$first_run				Timestamp of when to run the first in this scheduled cron series.
    	 * @param	array 			$remote_destinations	Array of remote destination IDs to send to.
    	 * @param	bool			$delete_after			Whether or not to delete local backup file after success sending to all remote destinations (if any). Does not delete if no destinations defined.
    	 * @param	bool			$enabled				true if enabled, else false.
    	 * @return	true|string								true on success, else error message string.
    	 *
    	 */
    
    	/* pretty_meta_info()
    	 *
    	 * Translates meta information field names and values into nice readable forms.
    	 *
    	 * @param	string	$comment_line_name		Meta field name.
    	 * @param	string	$comment_line_value		Value of meta item.
    	 * @return	array|false 					Array with two entries: the updates comment line name and updated comment line value. false if empty.
    	 *
    	 */
    
    	/* alert_core_table_excludes()
    	 *
    	 * Outputs an alert warning if a core db table is excluded.
    	 *
    	 * @param	array 		$excludes	Array of tables excluded from the backup.
    	 * @return	array 					Array of message warnings about potential issues found with these exclusions, if any. Index = unique identifer, Value = message.
    	 *
    	 */
    
    	/* alert_core_file_excludes()
    	 *
    	 * Outputs an alert warning if a core db table is excluded.
    	 *
    	 * @param	array 		$excludes		Array of paths excluded from the backup.
    	 * @return	array 						Array of message warnings about potential issues found with these exclusions, if any. Index = unique identifer, Value = message.
    	 *
    	 */
    
    	/* getZipMeta()
    	 *
    	 * Output meta info in a table.
    	 *
    	 * @param	string		$file			Backup file to get comment meta data from.
    	 * @return	array|false					Array of meta data or false on failure to retrieve.
    	 *
    	 */
    
    	/* get_dat_file_array()
    	 *
    	 * Get the DAT file contents as an array.
    	 *
    	 * @param		string		$dat_file		Full path to DAT file to decode and parse.
    	 * @return		array|false					Array of DAT content. Bool false when unable to read.
    	 *
    	 */
    
    	/* determineLatestVersion()
    	 *
    	 * Latest version info. Array of latest major,minor. False on fail to get.
    	 *
    	 */
    
    	/* detectMaxExecutionTime()
    	 *
    	 * Attempt to detect the max execution time allowed by PHP. Defaults to 30 if unable to detect or a suspicious value is detected.
    	 */
    
    	/* dbEscape()
    	 *
    	 * Escape SQL using either mysql or mysqli based on whichever WordPress is using.
    	 * WP 3.9 introducing mysqli support.
    	 */
    

    File: /classes/deploy.php

    Class: backupbuddy_deploy

    	/* __construct()
    	 *
    	 * ROLLBACK, RESTORE
    	 *
    	 * @param	string	$type			Restore type: rollback (roll back from inside WordPress), restore (importbuddy)
    	 * @param	array 	$existinData	State data from a previous instantiation. Previously returned from getState().
    	 *
    	 */
    
    	/* start()
    	 *
    	 * @return	bool		true on success, else false.
    	 */
    
    	/* extractDatabase()
    	 *
    	 * ROLLBACK, RESTORE
    	 * Extracts database file(s) into temp dir.
    	 *
    	 * @param	bool		true on success, else false.
    	 */
    
    	/* _error()
    	 *
    	 * Logs error messages for retrieval with getErrors().
    	 *
    	 * @param	string		$message	Error message to log.
    	 * @return	null
    	 */
    
    	/* getErrors()
    	 *
    	 * Get any errors which may have occurred.
    	 *
    	 * @return	array 		Returns an array of string error messages.
    	 */
    
    	/* getState()
    	 *
    	 * Get state array data for passing to the constructor for subsequent calls.
    	 *
    	 * @return	array 		Returns an array of state data.
    	 */
    
    	/* setState()
    	 *
    	 * Replace current state array with provided one.
    	 *
    	 */
    
    	/* _before()
    	 *
    	 * Runs before every function to keep track of ran functions in the state data for debugging.
    	 *
    	 * @return	null
    	 */
    
    	/*	shutdown_function()
    	 *	
    	 *	Used for catching fatal PHP errors during backup to write to log for debugging.
    	 *	
    	 *	@return		null
    	 */
    

    File: /classes/fileoptions.php

    /* Class pb_backupbuddy_fileoptions
     *
     * @author Dustin Bolton
     * @date April, 2013
     *
     * Uses the filesystem for storing options data. Data is serialized & base64 encoded.
     * By default uses a locking mechanism to lock out accessing the options from another instance
     * while open with this instance. Lock automatically removed on class destruction.
     *
     * After construction check is_ok() function to verify === true. If not true returns error message.
     *
     * Example usage:
     * $backup_options = new pb_backupbuddy_fileoptions( $filename );
     * if ( $backup_options->is_ok() ) {
     * 	$backup_options->options = array( 'hello' => 'world' );
     * 	$backup_options->save(); // Optional force save now. If omitted destructor will hopefully save.
     * }
     
     Another in-use example:
     
    pb_backupbuddy::status( 'details', 'About to load fileoptions data.' );
    require_once( pb_backupbuddy::plugin_path() . '/classes/fileoptions.php' );
    $fileoptions_obj = new pb_backupbuddy_fileoptions( backupbuddy_core::getLogDirectory() . 'fileoptions/send-' . $send_id . '.txt', $read_only = true, $ignore_lock = true, $create_file = false );
    if ( true !== ( $result = $fileoptions_obj->is_ok() ) ) {
    	pb_backupbuddy::status( 'error', __('Fatal Error #9034.2344848. Unable to access fileoptions data.', 'it-l10n-backupbuddy' ) . ' Error: ' . $result );
    	return false;
    }
    pb_backupbuddy::status( 'details', 'Fileoptions data loaded.' );
    $fileoptions = &$fileoptions_obj->options;
    
     *
     */
    

    Class: pb_backupbuddy_fileoptions

    	/* __construct()
    	 *
    	 * Reads and creates file lock. If file does not exist, creates it. Places options into this class's $options.
    	 *
    	 * @param	string		$file			Full filename to save fileoptions into.
    	 * @param	bool		$read_only		true read only mode; false writable.
    	 * @param	bool		$ignore_lock	When true ignore file locking. default: false
    	 * @param	bool		$create_file	Create file if it does not yet exist and mark is_ok value to true.
    	 * @return	null
    	 *
    	 */
    
    		/*
    		if ( ! file_exists( $file ) ) { // File exist?
    			//$this->save();
    		}
    		*/
    
    	/* __destruct()
    	 *
    	 * Saves options on destruction.
    	 *
    	 * @return null
    	 *
    	 */
    
    	/* is_ok()
    	 *
    	 * Determine whether options was loaded correctly and is ok.
    	 *
    	 * @return true\string		True on valid, else returns error message string.
    	 *
    	 */
    
    	/* load()
    	 *
    	 * Load options from file. Use is_ok() to verify integrity. If is_ok() !== true, returns error message.
    	 *
    	 * @param	bool		$ignore_lock	Whether or not to ignore the file being locked.
    	 * @param	bool		$create_file	Create file if it does not yet exist and mark is_ok value to true.
    	 * @param	int			$retryCount		If ERROR_EMPTY_FILE_NON_CREATE_MODE error then we will retry a couple of times after a slight pause in case there was a race condition while another process was updating the file.
    	 * @return	bool		true on load success, else false.
    	 *
    	 */
    
    	/* save()
    	 *
    	 * Save the options into file now without removing lock.
    	 *
    	 * @param		bool	$remove_lock	When true the lock will be removed as well. default: false
    	 * @return		bool					true on save success, else false.
    	 *
    	 */
    
    		/*
    		if ( true === $this->is_locked() ) {
    			error_log( 'saveislocked' );
    			pb_backupbuddy::status( 'details', 'Unable to write to fileoptions as file is currently locked: `' . $this->_file . '`.' );
    			return false;
    		}
    		*/
    
    	/* _lock()
    	 *
    	 * Lock file.
    	 *
    	 * @return		bool	true on lock success, else false.
    	 *
    	 */
    
    	/* unlock()
    	 *
    	 * Unlock file.
    	 *
    	 * @return		bool	true on unlock success, else false.
    	 *
    	 */
    
    					/*
    					if ( file_exists( $this->_file . '.lock' ) ) { // Locked; continue to unlock;
    					} else {
    					}
    					*/
    
    	/* is_locked()
    	 *
    	 * Is this file locked / in use?
    	 *
    	 * @return		bool		Whether or not file is currenty locked.
    	 *
    	 */
    

    File: /classes/import.php

    Class: pb_backupbuddy_import

    	/**
    	 *	migrate_htaccess()
    	 *
    	 *	Migrates .htaccess.bb_temp file if it exists.
    	 *
    	 *	@return		boolean		False only if file is unwritable. True if write success; true if file does not even exist.
    	 *
    	 */
    
    	/**
    	 *	wipe_database()
    	 *
    	 *	Clear out the existing database to prepare for importing new data.
    	 *
    	 *	@return			boolean		Currently always true.
    	 */
    
    	/**
    	 *	wipe_database()
    	 *
    	 *	Clear out the existing database to prepare for importing new data.
    	 *
    	 *	@return			boolean		Currently always true.
    	 */
    
    	/*	preg_escape_back()
    	 *	
    	 *	Escape backreferences from string for use with regex. Used by migrate_wp_config().
    	 *	@see migrate_wp_config()
    	 *	
    	 *	@param		string		$string		String to escape.
    	 *	@return		string					Escaped string.
    	 */
    
    	/**
    	 *	migrate_wp_config()
    	 *
    	 *	Migrates and updates the wp-config.php file contents as needed.
    	 *
    	 *	@return			true|string			True on success. On false returns the new wp-config file content.
    	 */
    
    			/*
    			Update WP_SITEURL, WP_HOME if they exist.
    			Update database DB_NAME, DB_USER, DB_PASSWORD, and DB_HOST.
    			RegExp: /define\([\s]*('|")WP_SITEURL('|"),[\s]*('|")(.)*('|")[\s]*\);/gi
    			pattern: define\([\s]*('|")WP_SITEURL('|"),[\s]*('|")(.)*('|")[\s]*\);
    			*/
    
    			/*
    			Update table prefix.
    			RegExp: /\$table_prefix[\s]*=[\s]*('|")(.)*('|");/gi
    			pattern: \$table_prefix[\s]*=[\s]*('|")(.)*('|");
    			*/
    
    	/**
    	 *	status_box()
    	 *
    	 *	Displays a textarea for placing status text into.
    	 *
    	 *	@param			$default_text	string		First line of text to display.
    	 *	@param			boolean			$hidden		Whether or not to apply display: none; CSS.
    	 *	@return							string		HTML for textarea.
    	 */
    
    		/**
    	 *	connect()
    	 *
    	 *	Initializes a connection to the mysql database.
    	 *
    	 *	@return		boolean		True on success; else false. Success testing is very loose.
    	 */
    
    	/**
    	 *	migrate_database()
    	 *
    	 *	Migrates the already imported database's content for updates ABSPATH and URL.
    	 *
    	 *	@return		boolean		True=success, False=failed.
    	 *
    	 */
    

    File: /classes/live.php

    /* Class pb_backupbuddy_live
     *
     * Live backup of files to Stash servers.
     *
     * @author Dustin Bolton < http://dustinbolton.com >
     * @date Nov 26, 2012
     *
     * Usage:
     *		Generate DB dump before generating queue to easily backup db.
     *		Call generate_queue() periodicially (ie 2x daily?)
     *		Hook into media library to auto-add uploaded files into queue.
     */
    

    Class: pb_backupbuddy_live

    	/* generate_queue()
    	 *
    	 * Determine what files have changed since this function was last run.
    	 * Generate a list of said files and append to any existing queue list file.
    	 * process_queue() will be scheduled to run shortly after function completes.
    	 *
    	 * @return		null
    	 */
    
    		/*
    			array(
    				'size'		=>	434344,
    				'attempts'	=>	0,
    				
    			);
    		*/
    
    	/* enqueue_file()
    	 *
    	 * Manually add a file into the transfer queue to be transferred soon(ish).
    	 *
    	 * @param	string		$file		Full path to the file to transfer.
    	 * @param	boolean					True if enqueued, else false (file does not exist).
    	 */
    
    	/* process_queue()
    	 *
    	 * description
    	 *
    	 */
    

    File: /classes/restore.php

    Class: backupbuddy_restore

    	/* __construct()
    	 *
    	 * ROLLBACK, RESTORE
    	 *
    	 * @param	string	$type			Restore type: rollback (roll back from inside WordPress), restore (importbuddy)
    	 * @param	array 	$existinData	State data from a previous instantiation. Previously returned from getState().
    	 *
    	 */
    
    	/* start()
    	 *
    	 * ROLLBACK, RESTORE
    	 * Returns false on failure. Use getErrors() to get an array of errors encountered if any.
    	 * Returns an array of information on success.
    	 * Grab the rollback state data with getState().
    	 *
    	 * @return	bool		true on success, else false.
    	 */
    
    	/* extractDatabase()
    	 *
    	 * ROLLBACK, RESTORE
    	 * Extracts database file(s) into temp dir.
    	 *
    	 * @param	bool		true on success, else false.
    	 */
    
    	/* restoreDatabase()
    	 *
    	 * ROLLBACK, RESTORE
    	 * Renames existing tables then imports the database SQL data into mysql. Turns on maintenance mode during this.
    	 *
    	 * @return	bool|int		true on success, false on failure, OR integer number for resume number for continuing db import.
    	 */
    
    		/********** Start mysqlbuddy use **********/
    
    		/********** End mysqlbuddy use **********/
    
    	/* swapDatabases()
    	 *
    	 * ROLLBACK
    	 * Swap out the recently imported database tables with temp prefix for the live database.
    	 * Sets maintenance mode during the swap, although it should be very brief.
    	 *
    	 */
    
    	/* finalizeRollback()
    	 *
    	 * ROLLBACK
    	 * Finalize the rollback, deleting original tables & cleaning up temp files.
    	 *
    	 * @return true
    	 */
    
    	/* _priorRollbackCleanup()
    	 *
    	 * ROLLBACK
    	 * Cleans up any existing temp database tables that exist from a prior failed/incomplete rollback that need removed.
    	 *
    	 */
    
    	/* _maintenanceOn()
    	 *
    	 * Turn ON WordPress maintenance mode.
    	 *
    	 */
    
    	/* _maintenanceOn()
    	 *
    	 * Turn OFF WordPress maintenance mode.
    	 *
    	 */
    
    	/* _error()
    	 *
    	 * Logs error messages for retrieval with getErrors().
    	 *
    	 * @param	string		$message	Error message to log.
    	 * @return	null
    	 */
    
    	/* getErrors()
    	 *
    	 * Get any errors which may have occurred.
    	 *
    	 * @return	array 		Returns an array of string error messages.
    	 */
    
    	/* getState()
    	 *
    	 * Get state array data for passing to the constructor for subsequent calls.
    	 *
    	 * @return	array 		Returns an array of state data.
    	 */
    
    	/* setState()
    	 *
    	 * Replace current state array with provided one.
    	 *
    	 */
    
    	/* _before()
    	 *
    	 * Runs before every function to keep track of ran functions in the state data for debugging.
    	 *
    	 * @return	null
    	 */
    
    	/*	shutdown_function()
    	 *	
    	 *	Used for catching fatal PHP errors during backup to write to log for debugging.
    	 *	
    	 *	@return		null
    	 */
    

    File: /classes/serverinfo.php

    Class: pb_backupbuddy_serverinfo

    	/*	get_wp_urls_paths()
    	 *	
    	 *	Gives an array of common WordPress URLs and file paths.
    	 *	
    	 *	@return		array			Contains multiple arrays of the format:
    	 *									name		=>	''
    	 *									title		=>	''
    	 *									value		=>	''
    	 */
    
    		/*
    		$items[] = array(
    			'title'		=>	',
    			'name'		=>	,
    			'value'		=>	,
    		);
    		*/
    

    File: /classes/wp-cli.php

    /*
     * Provides command line access via WP-CLI: http://wp-cli.org/
     * @since Nov 11, 2013
     *
     */
    

    Class: backupbuddy_wp_cli extends WP_CLI_Command

    	/**
    	 * Run a BackupBuddy backup. http://getbackupbuddy.com
    	 *
    	 * ## OPTIONS
    	 * 
    	 * 
    	 * : Profile may either specify the profile ID number, "full" to run the first defined Full backup profile, or "db" to run the first defined Database-only backup profile. The first Full and Database-only profiles are always available as they are not user-deletable. To find the profile number, run a backup inside BackupBuddy in WordPress and note the number at the end of the URL (3 in this case): http://...&backupbuddy_backup=3
    	 *
    	 * [--quiet]
    	 * : Suppresses display of status log information from being output to the screen.
    	 *
    	 * ## EXAMPLES
    	 * 
    	 *     RUN FULL BACKUP:     wp backupbuddy backup full
    	 *     RUN PROFILE #3:      wp backupbuddy backup 3
    	 *
    	 * @synopsis  [--quiet]
    	 */
    

    File: /classes/ithemes-sync/backupbuddy-get-everything.php

    Class: Ithemes_Sync_Verb_Backupbuddy_Get_Everything extends Ithemes_Sync_Verb

    	/*
    	 * Return:
    	 *		array(
    	 *			'success'	=>	'0' | '1'
    	 *			'status'	=>	'Status message.'
    	 *			'overview'	=>	[array of overview information]
    	 *		)
    	 *
    	 */
    

    File: /classes/ithemes-sync/backupbuddy-get-importbuddy.php

    Class: Ithemes_Sync_Verb_Backupbuddy_Get_Importbuddy extends Ithemes_Sync_Verb


    File: /classes/ithemes-sync/backupbuddy-get-latestBackupProcess.php

    Class: Ithemes_Sync_Verb_Backupbuddy_Get_LatestBackupProcess extends Ithemes_Sync_Verb

    	/*
    	 * Return:
    	 *		array(
    	 *			'success'	=>	'0' | '1'
    	 *			'status'	=>	'Status message.'
    	 *			'overview'	=>	[array of overview information]
    	 *		)
    	 *
    	 */
    
    		/***** BEGIN CALCULATING CURRENT BACKUP DETAILS *****/
    
    		/***** END CALCULATING CURRENT BACKUP DETAILS *****/
    

    File: /classes/ithemes-sync/backupbuddy-get-overview.php

    Class: Ithemes_Sync_Verb_Backupbuddy_Get_Overview extends Ithemes_Sync_Verb

    	/*
    	 * Return:
    	 *		array(
    	 *			'success'	=>	'0' | '1'
    	 *			'status'	=>	'Status message.'
    	 *			'overview'	=>	[array of overview information]
    	 *		)
    	 *
    	 */
    

    File: /classes/ithemes-sync/backupbuddy-list-destinations.php

    Class: Ithemes_Sync_Verb_Backupbuddy_List_Destinations extends Ithemes_Sync_Verb

    	/*
    	 * Return:
    	 *		array(
    	 *			'success'	=>	'0' | '1'
    	 *			'status'	=>	'Status message.'
    	 *			'schedules'	=>	[array of schedule information]
    	 *		)
    	 *
    	 */
    

    File: /classes/ithemes-sync/backupbuddy-list-profiles.php

    Class: Ithemes_Sync_Verb_Backupbuddy_List_Profiles extends Ithemes_Sync_Verb

    	/*
    	 * Return:
    	 *		array(
    	 *			'success'	=>	'0' | '1'
    	 *			'status'	=>	'Status message.'
    	 *			'profiles'	=>	[array of profile information]
    	 *		)
    	 *
    	 */
    

    File: /classes/ithemes-sync/backupbuddy-list-schedules.php

    Class: Ithemes_Sync_Verb_Backupbuddy_List_Schedules extends Ithemes_Sync_Verb

    	/*
    	 * Return:
    	 *		array(
    	 *			'success'	=>	'0' | '1'
    	 *			'status'	=>	'Status message.'
    	 *			'schedules'	=>	[array of schedule information]
    	 *		)
    	 *
    	 */
    

    File: /classes/ithemes-sync/backupbuddy-run-backup.php

    Class: Ithemes_Sync_Verb_Backupbuddy_Run_Backup extends Ithemes_Sync_Verb

    	/*
    	 * Return:
    	 *		array(
    	 *			'success'	=>	'0' | '1'
    	 *			'status'	=>	'Status message.'
    	 *		)
    	 *
    	 */
    

    File: /classes/api/_getActivePlugins.php

    /*
    $myPluginFiles = array_values($pup_plugin_files);
    if (is_array($myPluginFiles[0])) {
    	// new style - used the keys, not the values
    	$myPluginFiles = array_keys($pup_plugin_files);
    };
    sort($myPluginFiles); // Alphabetize by filename. Better way?
    $myPluginFiles=array_unique($myPluginFiles);
    
    function pups_getPluginData($plugin_file) {
    	if (trim($plugin_file) == "") return '';
    	if (!file_exists(ABSPATH . '/wp-content/plugins/' .
    $plugin_file)) return '';
    	if (!is_readable(ABSPATH . '/wp-content/plugins/' .
    $plugin_file)) return '';
    	$plugin_data = implode('', file(ABSPATH .
    '/wp-content/plugins/' . $plugin_file));
    	preg_match("|Plugin Name:(.*)|i", $plugin_data,
    $plugin_name);
    	if ('' == $plugin_name[1]) return '';
    	preg_match("|Plugin URI:(.*)|i", $plugin_data, $plugin_uri);
    	preg_match("|Description:(.*)|i", $plugin_data,
    $description);
    	preg_match("|Author:(.*)|i", $plugin_data, $author_name);
    	preg_match("|Author URI:(.*)|i", $plugin_data, $author_uri);
    	if ( preg_match("|Version:(.*)|i", $plugin_data, $version) )
    		$version = $version[1];
    	else
    		$version ='';
    
    	$description = wptexturize($description[1]);
    	$description = wp_kses($description, array('a' => array('href' => array(),'title' => array()),'abbr' => array('title' => array()),'acronym' => array('title' => array()),'code' => array(),'em' => array(),'strong' => array()) );
    
    	if ('' == $plugin_uri) {
    		$plugin = $plugin_name[1];
    	} else {
    		$plugin = __("{$plugin_name[1]}");
    	}
    
    	if ('' == $author_uri) {
    		$author = $author_name[1];
    	} else {
    		$author = __("{$author_name[1]}");
    	}
    */
    

    File: /classes/api/_getOverview.php


    File: /classes/api/_getPreDeployInfo.php


    File: /classes/api/_getSchedules.php