list_activity_types ( $opt )

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.

Access

public

Parameters

Parameter

Type

Required

Description

$opt

array

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.

Returns

Type

Description

CFResponse

A CFResponse object containing a parsed HTTP response.

Examples

Activity Type CRUD.

Shows an example of activity type CRUD methods.

This sample uses anonymous functions, which are only available in PHP 5.3+. For PHP 5.2 users, you must used named functions instead of anonymous ones.

// Instantiate the class
$swf = new AmazonSWF();

// Setup
$timestamp = time();
$workflow_domain = 'my-domain' . $timestamp;
$activity_type_name = 'my-activity-type';

//-----------------------------------------------------------------//
// Register a new activity type

echo '# Registering a new activity type...' . PHP_EOL;
$workflow_type = $swf->register_activity_type(array(
	'domain'             => $workflow_domain,
	'name'               => $activity_type_name,
	'version'            => '1.0',
	'description'        => 'A test task to show how this thing works.',
	'defaultChildPolicy' => AmazonSWF::POLICY_TERMINATE,
	'defaultTaskList'    => array(
		'name' => 'my-task-list'
	),
));

if ($domain->isOK())
{
	echo 'Waiting for the activity type to become ready...' . PHP_EOL;

	do {
		sleep(1);

		$describe = $swf->describe_activity_type(array(
			'domain'       => $workflow_domain,
			'activityType' => array(
				'name'    => $activity_type_name,
				'version' => '1.0'
			)
		));
	}
	while ((string) $describe->body->typeInfo->status !== AmazonSWF::STATUS_REGISTERED);

	echo 'Activity type was created successfully.' . PHP_EOL;
}
else
{
	echo 'Activity type creation failed.';
}

echo PHP_EOL;

//-----------------------------------------------------------------//
// List all registered activity types

echo "# Listing all registered activity types for the \"${workflow_domain}\" domain..." . PHP_EOL;

// Anonymous callbacks require PHP 5.3. PHP 5.2 users can create a
// named function and pass it to the each() method.
$swf->list_activity_types(array(
	'domain' => $workflow_domain,
	'registrationStatus' => AmazonSWF::STATUS_REGISTERED,
))
->body->typeInfos()->each(function($item)
{
	echo (string) $item->status . ': ' .
	     (string) $item->activityType->name . ' ' .
	     (string) $item->activityType->version . PHP_EOL;
});

echo PHP_EOL;

//-----------------------------------------------------------------//
// Describing a specific activity type

echo "# Describing the \"${activity_type_name}\" workflow type from the \"${workflow_domain}\" domain..." . PHP_EOL;

// Describe a domain
$describe = $swf->describe_activity_type(array(
	'domain'       => $workflow_domain,
	'activityType' => array(
		'name'    => $activity_type_name,
		'version' => '1.0'
	)
));

print_r($describe->body);
echo PHP_EOL;

//-----------------------------------------------------------------//
// Deprecate a activity type

echo '# Deprecating an activity type...' . PHP_EOL;
$deprecate_activity_type = $swf->deprecate_activity_type(array(
	'domain'       => $workflow_domain,
	'activityType' => array(
		'name'    => $activity_type_name,
		'version' => '1.0',
	)
));

if ($domain->isOK())
{
	echo 'Activity flow was deprecated successfully.' . PHP_EOL;
}
else
{
	echo 'Activity flow deprecation failed.';
}

echo PHP_EOL;

Source

Method defined in services/swf.class.php | Toggle source view (6 lines) | View on GitHub

public function list_activity_types($opt = null)
{
    if (!$opt) $opt = array();
    
    return $this->authenticate('ListActivityTypes', $opt);
}

Copyright © 2010–2013 Amazon Web Services, LLC


Feedback