CreateDomainConfiguration - AWS IoT

CreateDomainConfiguration

Creates a domain configuration.

Note

The domain configuration feature is in public preview and is subject to change.

Request Syntax

POST /domainConfigurations/domainConfigurationName HTTP/1.1 Content-type: application/json { "authorizerConfig": { "allowAuthorizerOverride": boolean, "defaultAuthorizerName": "string" }, "domainName": "string", "serverCertificateArns": [ "string" ], "serviceType": "string", "tags": [ { "Key": "string", "Value": "string" } ], "validationCertificateArn": "string" }

URI Request Parameters

The request requires the following URI parameters.

domainConfigurationName

The name of the domain configuration. This value must be unique to a region.

Length Constraints: Minimum length of 1. Maximum length of 128.

Pattern: [\w.-]+

Request Body

The request accepts the following data in JSON format.

authorizerConfig

An object that specifies the authorization service for a domain.

Type: AuthorizerConfig object

Required: No

domainName

The name of the domain.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 253.

Required: No

serverCertificateArns

The ARNs of the certificates that AWS IoT passes to the device during the TLS handshake. Currently you can specify only one certificate ARN. This value is not required for AWS-managed domains.

Type: Array of strings

Array Members: Minimum number of 0 items. Maximum number of 1 item.

Length Constraints: Minimum length of 1. Maximum length of 2048.

Pattern: arn:aws:acm:[a-z]{2}-(gov-)?[a-z]{4,9}-\d{1}:\d{12}:certificate/?[a-zA-Z0-9/-]+

Required: No

serviceType

The type of service delivered by the endpoint.

Note

AWS IoT Core currently supports only the DATA service type.

Type: String

Valid Values: DATA | CREDENTIAL_PROVIDER | JOBS

Required: No

tags

Metadata which can be used to manage the domain configuration.

Note

For URI Request parameters use format: ...key1=value1&key2=value2...

For the CLI command-line parameter use format: &&tags "key1=value1&key2=value2..."

For the cli-input-json file use format: "tags": "key1=value1&key2=value2..."

Type: Array of Tag objects

Required: No

validationCertificateArn

The certificate used to validate the server certificate and prove domain name ownership. This certificate must be signed by a public certificate authority. This value is not required for AWS-managed domains.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 2048.

Pattern: arn:aws:acm:[a-z]{2}-(gov-)?[a-z]{4,9}-\d{1}:\d{12}:certificate/?[a-zA-Z0-9/-]+

Required: No

Response Syntax

HTTP/1.1 200 Content-type: application/json { "domainConfigurationArn": "string", "domainConfigurationName": "string" }

Response Elements

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

domainConfigurationArn

The ARN of the domain configuration.

Type: String

domainConfigurationName

The name of the domain configuration.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 128.

Pattern: [\w.-]+

Errors

CertificateValidationException

The certificate is invalid.

HTTP Status Code: 400

InternalFailureException

An unexpected error has occurred.

HTTP Status Code: 500

InvalidRequestException

The request is not valid.

HTTP Status Code: 400

LimitExceededException

A limit has been exceeded.

HTTP Status Code: 410

ResourceAlreadyExistsException

The resource already exists.

HTTP Status Code: 409

ServiceUnavailableException

The service is temporarily unavailable.

HTTP Status Code: 503

ThrottlingException

The rate exceeds the limit.

HTTP Status Code: 400

UnauthorizedException

You are not authorized to perform this operation.

HTTP Status Code: 401

See Also

For more information about using this API in one of the language-specific AWS SDKs, see the following: