Skip to content
Proud to collaborate with Microsoft for Startups

aws.route53.create_record ​

Create or upsert a Route 53 DNS record (UPSERT — idempotent)

Create or upsert a DNS record in an Amazon Route 53 hosted zone.

Uses the UPSERT action so the operation is idempotent — running it twice with the same inputs produces the same result.

Inputs:

  • hosted_zone_id: Route 53 hosted zone ID (required), e.g. Z1234567890ABC.
  • record_name: Fully-qualified DNS name, e.g. api.example.com (required).
  • record_type: A | AAAA | CNAME | TXT | MX | NS | etc. (required).
  • record_value: Record value(s) — a single string or a list of strings (required).
  • ttl: TTL in seconds (optional, default: 300).
  • comment: Change batch comment (optional).
  • connection_uuid: Cloud connection UUID for AWS credentials (required).

Outputs (terminal state_data):

  • change_id: str — Route 53 change ID
  • status: str — PENDING | INSYNC

Compensation: Use aws.route53.delete_record to remove the record. Plugin required: context.get_plugin("aws") must expose .route53_client().

Overview ​

PropertyValue
Workflow typeAtomic
LibraryBase-aws
Version1.0

Input Schema ​

FieldTypeRequiredDefaultDescription
hosted_zone_idstringYes—Route 53 hosted zone ID
record_namestringYes—Fully-qualified DNS record name
record_typestringYes—DNS record type: A, AAAA, CNAME, TXT, MX, etc.
record_valuejsonYes—Value string or list of value strings
ttlintegerNo—TTL in seconds (default: 300)
commentstringNo—Change batch comment
connection_uuiduuidYes—Cloud connection UUID for AWS credentials

Output Schema ​

FieldTypeRequiredDefaultDescription
change_idstringNo——
statusstringNo——
commentstringNo——
connection_uuiduuidNo——
hosted_zone_idstringNo——
record_namestringNo——
record_typestringNo——
record_valuejsonNo——
ttlintegerNo——
failure_reasonstringNo——
failure_typestringNo——
failed_actionstringNo——
failed_at_statestringNo——
failed_stepstringNo——
failed_layerstringNo——
errorstringNo——
error_typestringNo——

States ​

StateInitialTerminalSuccessAuto-advanceDescription
pendingYesNo—execute—
completedNoYesYes——
failedNoYesNo——

State Diagram ​

Transitions ​

FromActionToDescription
pendingexecutecompleted—
* (any state)failfailed—

API Usage ​

bash
POST /api/workflows/start
Content-Type: application/json

{
  "workflow_type": "aws.route53.create_record",
  "initial_data": {
    "hosted_zone_id": "value",
    "record_name": "value",
    "record_type": "value",
    "record_value": "value"
  }
}