{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/amazon-amplify/json-schema/amazon-amplify-list-domain-associations-result-schema.json",
  "title": "ListDomainAssociationsResult",
  "x-generated": "2026-11-11",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/amazon-amplify-domains-api-openapi.yml#/components/schemas/ListDomainAssociationsResult",
  "type": "object",
  "properties": {
    "domainAssociations": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/DomainAssociation"
      },
      "description": "A list of domain associations."
    },
    "nextToken": {
      "type": "string",
      "description": "A pagination token. If non-null, a pagination token is returned in a result. Pass its value in another request to retrieve more entries."
    }
  },
  "required": [
    "domainAssociations"
  ],
  "$defs": {
    "Certificate": {
      "type": "object",
      "properties": {
        "type": {
          "type": "string",
          "enum": [
            "AMPLIFY_MANAGED",
            "CUSTOM"
          ],
          "description": "The type of SSL/TLS certificate that you want to use. Specify AMPLIFY_MANAGED to use the default certificate that Amplify provisions for you. Specify CUSTOM to use your own certificate that you have already added to Certificate Manager in your Amazon Web Services account. Make sure you request (or import) the certificate in the US East (N. Virginia) Region (us-east-1). For more information about using ACM, see Importing certificates into Certificate Manager in the ACM User guide."
        },
        "customCertificateArn": {
          "type": "string",
          "description": "The Amazon resource name (ARN) for a custom certificate that you have already added to Certificate Manager in your Amazon Web Services account. This field is required only when the certificate type is CUSTOM."
        },
        "certificateVerificationDNSRecord": {
          "type": "string",
          "description": "The DNS record for certificate verification."
        }
      },
      "required": [
        "type"
      ]
    },
    "DomainAssociation": {
      "type": "object",
      "properties": {
        "domainAssociationArn": {
          "type": "string",
          "description": "The Amazon Resource Name (ARN) for the domain association."
        },
        "domainName": {
          "type": "string",
          "description": "The name of the domain."
        },
        "enableAutoSubDomain": {
          "type": "boolean",
          "description": "Enables the automated creation of subdomains for branches."
        },
        "autoSubDomainCreationPatterns": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Sets branch patterns for automatic subdomain creation."
        },
        "autoSubDomainIAMRole": {
          "type": "string",
          "description": "The required AWS Identity and Access Management (IAM) service role for the Amazon Resource Name (ARN) for automatically creating subdomains."
        },
        "domainStatus": {
          "type": "string",
          "enum": [
            "PENDING_VERIFICATION",
            "IN_PROGRESS",
            "AVAILABLE",
            "IMPORTING_CUSTOM_CERTIFICATE",
            "PENDING_DEPLOYMENT",
            "AWAITING_APP_CNAME",
            "FAILED",
            "CREATING",
            "REQUESTING_CERTIFICATE",
            "UPDATING"
          ],
          "description": "The current status of the domain association."
        },
        "updateStatus": {
          "type": "string",
          "enum": [
            "REQUESTING_CERTIFICATE",
            "PENDING_VERIFICATION",
            "IMPORTING_CUSTOM_CERTIFICATE",
            "PENDING_DEPLOYMENT",
            "AWAITING_APP_CNAME",
            "UPDATE_COMPLETE",
            "UPDATE_FAILED"
          ],
          "description": "The status of the domain update operation that is currently in progress. The following list describes the valid update states. REQUESTING_CERTIFICATE The certificate is in the process of being updated. PENDING_VERIFICATION Indicates that an Amplify managed certificate is in the process of being verified. This occurs during the creation of a custom domain or when a custom domain is updated to use a managed certificate. IMPORTING_CUSTOM_CERTIFICATE Indicates that an Amplify custom certificate is in the process of being imported. This occurs during the creation of a custom domain or when a custom"
        },
        "statusReason": {
          "type": "string",
          "description": "Additional information that describes why the domain association is in the current state."
        },
        "certificateVerificationDNSRecord": {
          "type": "string",
          "description": "The DNS record for certificate verification."
        },
        "subDomains": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/SubDomain"
          },
          "description": "The subdomains for the domain association."
        },
        "certificate": {
          "$ref": "#/$defs/Certificate"
        }
      },
      "required": [
        "domainAssociationArn",
        "domainName",
        "enableAutoSubDomain",
        "domainStatus",
        "statusReason",
        "subDomains"
      ]
    },
    "SubDomain": {
      "type": "object",
      "properties": {
        "subDomainSetting": {
          "$ref": "#/$defs/SubDomainSetting"
        },
        "verified": {
          "type": "boolean",
          "description": "The verified status of the subdomain"
        },
        "dnsRecord": {
          "type": "string",
          "description": "The DNS record for the subdomain."
        }
      },
      "required": [
        "subDomainSetting",
        "verified",
        "dnsRecord"
      ]
    },
    "SubDomainSetting": {
      "type": "object",
      "properties": {
        "prefix": {
          "type": "string",
          "description": "The prefix setting for the subdomain."
        },
        "branchName": {
          "type": "string",
          "description": "The branch name setting for the subdomain."
        }
      },
      "required": [
        "prefix",
        "branchName"
      ]
    }
  }
}