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.
Access
public
Parameters
Parameter |
Type |
Required |
Description |
---|---|---|---|
|
Optional |
An associative array of parameters that can have the following keys:
|
Returns
Type |
Description |
---|---|
A |
Examples
Workflow Domain CRUD.
Shows an example of workflow domain 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; //-----------------------------------------------------------------// // Register a new workflow domain echo "# Registering a new workflow domain, \"${workflow_domain}\"..." . PHP_EOL; $domain = $swf->register_domain(array( 'name' => $workflow_domain, 'workflowExecutionRetentionPeriodInDays' => '1' )); if ($domain->isOK()) { echo 'Domain was created successfully.' . PHP_EOL; } else { echo 'Domain creation failed.'; } echo PHP_EOL; //-----------------------------------------------------------------// // List all registered workflow domains echo '# Listing all registered workflow domains...' . PHP_EOL; // Grab a list of "registered" domains and list them. // Anonymous callbacks require PHP 5.3. PHP 5.2 users can create a // named function and pass it to the each() method. $swf->list_domains(array( 'registrationStatus' => AmazonSWF::STATUS_REGISTERED )) ->body->domainInfos()->each(function($item) { echo (string) $item->status . ': ' . (string) $item->name . PHP_EOL; }); echo '.' . PHP_EOL . PHP_EOL; //-----------------------------------------------------------------// // Describing a specific domain echo "# Describing the \"${workflow_domain}\" domain..." . PHP_EOL; // Describe a domain $describe = $swf->describe_domain(array( 'name' => $workflow_domain )); print_r($describe->body); echo PHP_EOL; //-----------------------------------------------------------------// // Deprecate a workflow domain echo "# Deprecating the \"${workflow_domain}\" domain..." . PHP_EOL; $deprecate = $swf->deprecate_domain(array( 'name' => $workflow_domain )); do { sleep(1); $describe = $swf->describe_domain(array( 'name' => $workflow_domain )); } while ($deprecate->status === 200 && (string) $describe->body->domainInfo->status !== AmazonSWF::STATUS_DEPRECATED); if ($deprecate->isOK()) { echo "Domain \"${workflow_domain}\" has been successfully deprecated." . PHP_EOL; } else { echo "Domain has failed to deprecated." . PHP_EOL; print_r($deprecate->body); }
Source
Method defined in services/swf.class.php | Toggle source view (6 lines) | View on GitHub