...
Code Block |
---|
theme | Midnight |
---|
title | DNS Provider Information Key Value Pair |
---|
|
URL: /v2/project/{project-name}/trafficdns-update-controllerrecords/dnsproviders
POST BODY:
{
"name": "<dnsprovidername><dnsupdaterecordname>",
"description": "description for DNS update Providerrecord",
"externalDnsParameters": { // list will be supplied to external-dns as parameters.
"aws-zone-type": "", When using the AWS provider, filter for zones of this type (optional, options: public, private)
"aws-zone-tags": "", When using the AWS provider, filter for zones with these tags
"aws-assume-role":"", When using the AWS provider, assume this IAM role. Useful for hosted zones in another AWS account. Specify the full ARN, e.g. `arn:aws:iam::123455567:role/external-dns` (optional)
"aws-batch-change-size":"1000", When using the AWS provider, set the maximum number of changes that will be applied in each batch.
"aws-batch-change-interval":"1s", When using the AWS provider, set the interval between batch changes.
"aws-evaluate-target-health":"enabled", When using the AWS provider, set whether to evaluate the health of a DNS target (default: enabled, disable with --no-aws-evaluate-target-health)
"aws-api-retries":"3", When using the AWS provider, set the maximum number of retries for API calls before giving up.
"aws-prefer-cname":"disabled" When using the AWS provider, prefer using CNAME instead of ALIAS (default: disabled)
etc.
}
}
|
Alternative approach (?) - DNS Providers becomes an explicit resource (e.g. v2/project/{project-name}/dns-providers/{dns-provider}) which are associated to logical-clouds and clusters via labels.
The following illustrates the API for creating a DNS Provider intent. To associate multiple DNS Providers with a DNS Provider Intent, multiple calls are made.
Code Block |
---|
|
URL: /v2/project/{project-name}/composite-apps/{composite-app-name}/{version}/traffic-intent-sets/{traffic-intent-set-name}/dnsproviders
POST BODY:
{
"name": "<dnsprovidername>" // values used as a key to find the DNS Provider Information details from the logical-cloud or cluster KV pair list.
}
|
Code Block |
---|
|
URL: /v2/project/{project-name}/composite-apps/{composite-app-name}/{version}/traffic-intent-sets/{traffic-intent-set-name}/dnsproviders
GET RESPONSE BODY:
[
{
"name": "dnsprovidername1"
},
{
"name": "dnsprovidername2"
},
{
"name": "dnsprovidername3"
},
{
"name": "dnsprovidername4"
}
]
URL: /v2/project/{project-name}/composite-apps/{composite-app-name}/{version}/traffic-intent-sets/{traffic-intent-set-name}/dnsproviders/dnsprovidername2
GET RESPONSE BODY:
{
"name": "dnsprovidername2"
}
|
DNS Provider Intent Handling
...