register_domain ( $opt )

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.

Access

public

Parameters

Parameter

Type

Required

Description

$opt

array

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.

Returns

Type

Description

CFResponse

A CFResponse object containing a parsed HTTP response.

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

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

Copyright © 2010–2013 Amazon Web Services, LLC


Feedback