Skip to content

Commit a241e4f

Browse files
author
AWS
committed
AWS Cloud Map Update: AWS Cloud Map now supports service-level attributes, allowing you to associate custom metadata directly with services. These attributes can be retrieved, updated, and deleted using the new GetServiceAttributes, UpdateServiceAttributes, and DeleteServiceAttributes API calls.
1 parent d9d9037 commit a241e4f

File tree

2 files changed

+164
-6
lines changed

2 files changed

+164
-6
lines changed
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"type": "feature",
3+
"category": "AWS Cloud Map",
4+
"contributor": "",
5+
"description": "AWS Cloud Map now supports service-level attributes, allowing you to associate custom metadata directly with services. These attributes can be retrieved, updated, and deleted using the new GetServiceAttributes, UpdateServiceAttributes, and DeleteServiceAttributes API calls."
6+
}

services/servicediscovery/src/main/resources/codegen-resources/service-2.json

Lines changed: 158 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,14 @@
55
"endpointPrefix":"servicediscovery",
66
"jsonVersion":"1.1",
77
"protocol":"json",
8+
"protocols":["json"],
89
"serviceAbbreviation":"ServiceDiscovery",
910
"serviceFullName":"AWS Cloud Map",
1011
"serviceId":"ServiceDiscovery",
1112
"signatureVersion":"v4",
1213
"targetPrefix":"Route53AutoNaming_v20170314",
13-
"uid":"servicediscovery-2017-03-14"
14+
"uid":"servicediscovery-2017-03-14",
15+
"auth":["aws.auth#sigv4"]
1416
},
1517
"operations":{
1618
"CreateHttpNamespace":{
@@ -110,7 +112,21 @@
110112
{"shape":"ServiceNotFound"},
111113
{"shape":"ResourceInUse"}
112114
],
113-
"documentation":"<p>Deletes a specified service. If the service still contains one or more registered instances, the request fails.</p>"
115+
"documentation":"<p>Deletes a specified service and all associated service attributes. If the service still contains one or more registered instances, the request fails.</p>"
116+
},
117+
"DeleteServiceAttributes":{
118+
"name":"DeleteServiceAttributes",
119+
"http":{
120+
"method":"POST",
121+
"requestUri":"/"
122+
},
123+
"input":{"shape":"DeleteServiceAttributesRequest"},
124+
"output":{"shape":"DeleteServiceAttributesResponse"},
125+
"errors":[
126+
{"shape":"InvalidInput"},
127+
{"shape":"ServiceNotFound"}
128+
],
129+
"documentation":"<p>Deletes specific attributes associated with a service.</p>"
114130
},
115131
"DeregisterInstance":{
116132
"name":"DeregisterInstance",
@@ -235,6 +251,20 @@
235251
],
236252
"documentation":"<p>Gets the settings for a specified service.</p>"
237253
},
254+
"GetServiceAttributes":{
255+
"name":"GetServiceAttributes",
256+
"http":{
257+
"method":"POST",
258+
"requestUri":"/"
259+
},
260+
"input":{"shape":"GetServiceAttributesRequest"},
261+
"output":{"shape":"GetServiceAttributesResponse"},
262+
"errors":[
263+
{"shape":"InvalidInput"},
264+
{"shape":"ServiceNotFound"}
265+
],
266+
"documentation":"<p>Returns the attributes associated with a specified service.</p>"
267+
},
238268
"ListInstances":{
239269
"name":"ListInstances",
240270
"http":{
@@ -425,6 +455,21 @@
425455
{"shape":"ServiceNotFound"}
426456
],
427457
"documentation":"<p>Submits a request to perform the following operations:</p> <ul> <li> <p>Update the TTL setting for existing <code>DnsRecords</code> configurations</p> </li> <li> <p>Add, update, or delete <code>HealthCheckConfig</code> for a specified service</p> <note> <p>You can't add, update, or delete a <code>HealthCheckCustomConfig</code> configuration.</p> </note> </li> </ul> <p>For public and private DNS namespaces, note the following:</p> <ul> <li> <p>If you omit any existing <code>DnsRecords</code> or <code>HealthCheckConfig</code> configurations from an <code>UpdateService</code> request, the configurations are deleted from the service.</p> </li> <li> <p>If you omit an existing <code>HealthCheckCustomConfig</code> configuration from an <code>UpdateService</code> request, the configuration isn't deleted from the service.</p> </li> </ul> <p>When you update settings for a service, Cloud Map also updates the corresponding settings in all the records and health checks that were created by using the specified service.</p>"
458+
},
459+
"UpdateServiceAttributes":{
460+
"name":"UpdateServiceAttributes",
461+
"http":{
462+
"method":"POST",
463+
"requestUri":"/"
464+
},
465+
"input":{"shape":"UpdateServiceAttributesRequest"},
466+
"output":{"shape":"UpdateServiceAttributesResponse"},
467+
"errors":[
468+
{"shape":"InvalidInput"},
469+
{"shape":"ServiceNotFound"},
470+
{"shape":"ServiceAttributesLimitExceededException"}
471+
],
472+
"documentation":"<p>Submits a request to update a specified service to add service-level attributes.</p>"
428473
}
429474
},
430475
"shapes":{
@@ -650,6 +695,28 @@
650695
}
651696
}
652697
},
698+
"DeleteServiceAttributesRequest":{
699+
"type":"structure",
700+
"required":[
701+
"ServiceId",
702+
"Attributes"
703+
],
704+
"members":{
705+
"ServiceId":{
706+
"shape":"ResourceId",
707+
"documentation":"<p>The ID of the service from which the attributes will be deleted.</p>"
708+
},
709+
"Attributes":{
710+
"shape":"ServiceAttributeKeyList",
711+
"documentation":"<p>A list of keys corresponding to each attribute that you want to delete.</p>"
712+
}
713+
}
714+
},
715+
"DeleteServiceAttributesResponse":{
716+
"type":"structure",
717+
"members":{
718+
}
719+
},
653720
"DeleteServiceRequest":{
654721
"type":"structure",
655722
"required":["Id"],
@@ -784,10 +851,10 @@
784851
},
785852
"DnsRecords":{
786853
"shape":"DnsRecordList",
787-
"documentation":"<p>An array that contains one <code>DnsRecord</code> object for each Route 53 DNS record that you want Cloud Map to create when you register an instance.</p>"
854+
"documentation":"<p>An array that contains one <code>DnsRecord</code> object for each Route 53 DNS record that you want Cloud Map to create when you register an instance.</p> <important> <p>The record type of a service specified in a <code>DnsRecord</code> object can't be updated. To change a record type, you need to delete the service and recreate it with a new <code>DnsConfig</code>.</p> </important>"
788855
}
789856
},
790-
"documentation":"<p>A complex type that contains information about the Amazon Route 53 DNS records that you want Cloud Map to create when you register an instance.</p> <important> <p>The record types of a service can only be changed by deleting the service and recreating it with a new <code>Dnsconfig</code>.</p> </important>"
857+
"documentation":"<p>A complex type that contains information about the Amazon Route 53 DNS records that you want Cloud Map to create when you register an instance.</p>"
791858
},
792859
"DnsConfigChange":{
793860
"type":"structure",
@@ -971,6 +1038,25 @@
9711038
}
9721039
}
9731040
},
1041+
"GetServiceAttributesRequest":{
1042+
"type":"structure",
1043+
"required":["ServiceId"],
1044+
"members":{
1045+
"ServiceId":{
1046+
"shape":"ResourceId",
1047+
"documentation":"<p>The ID of the service that you want to get attributes for.</p>"
1048+
}
1049+
}
1050+
},
1051+
"GetServiceAttributesResponse":{
1052+
"type":"structure",
1053+
"members":{
1054+
"ServiceAttributes":{
1055+
"shape":"ServiceAttributes",
1056+
"documentation":"<p>A complex type that contains the service ARN and a list of attribute key-value pairs associated with the service.</p>"
1057+
}
1058+
}
1059+
},
9741060
"GetServiceRequest":{
9751061
"type":"structure",
9761062
"required":["Id"],
@@ -1405,7 +1491,8 @@
14051491
},
14061492
"NamespaceName":{
14071493
"type":"string",
1408-
"max":1024
1494+
"max":1024,
1495+
"pattern":"^[!-~]{1,1024}$"
14091496
},
14101497
"NamespaceNameHttp":{
14111498
"type":"string",
@@ -1946,6 +2033,49 @@
19462033
"documentation":"<p>The service can't be created because a service with the same name already exists.</p>",
19472034
"exception":true
19482035
},
2036+
"ServiceAttributeKey":{
2037+
"type":"string",
2038+
"max":255
2039+
},
2040+
"ServiceAttributeKeyList":{
2041+
"type":"list",
2042+
"member":{"shape":"ServiceAttributeKey"},
2043+
"max":30,
2044+
"min":1
2045+
},
2046+
"ServiceAttributeValue":{
2047+
"type":"string",
2048+
"max":1024
2049+
},
2050+
"ServiceAttributes":{
2051+
"type":"structure",
2052+
"members":{
2053+
"ServiceArn":{
2054+
"shape":"Arn",
2055+
"documentation":"<p>The ARN of the service that the attributes are associated with.</p>"
2056+
},
2057+
"Attributes":{
2058+
"shape":"ServiceAttributesMap",
2059+
"documentation":"<p>A string map that contains the following information for the service that you specify in <code>ServiceArn</code>:</p> <ul> <li> <p>The attributes that apply to the service. </p> </li> <li> <p>For each attribute, the applicable value.</p> </li> </ul> <p>You can specify a total of 30 attributes.</p>"
2060+
}
2061+
},
2062+
"documentation":"<p>A complex type that contains information about attributes associated with a specific service.</p>"
2063+
},
2064+
"ServiceAttributesLimitExceededException":{
2065+
"type":"structure",
2066+
"members":{
2067+
"Message":{"shape":"ErrorMessage"}
2068+
},
2069+
"documentation":"<p>The attribute can't be added to the service because you've exceeded the quota for the number of attributes you can add to a service.</p>",
2070+
"exception":true
2071+
},
2072+
"ServiceAttributesMap":{
2073+
"type":"map",
2074+
"key":{"shape":"ServiceAttributeKey"},
2075+
"value":{"shape":"ServiceAttributeValue"},
2076+
"max":30,
2077+
"min":1
2078+
},
19492079
"ServiceChange":{
19502080
"type":"structure",
19512081
"members":{
@@ -2280,6 +2410,28 @@
22802410
}
22812411
}
22822412
},
2413+
"UpdateServiceAttributesRequest":{
2414+
"type":"structure",
2415+
"required":[
2416+
"ServiceId",
2417+
"Attributes"
2418+
],
2419+
"members":{
2420+
"ServiceId":{
2421+
"shape":"ResourceId",
2422+
"documentation":"<p>The ID of the service that you want to update.</p>"
2423+
},
2424+
"Attributes":{
2425+
"shape":"ServiceAttributesMap",
2426+
"documentation":"<p>A string map that contains attribute key-value pairs.</p>"
2427+
}
2428+
}
2429+
},
2430+
"UpdateServiceAttributesResponse":{
2431+
"type":"structure",
2432+
"members":{
2433+
}
2434+
},
22832435
"UpdateServiceRequest":{
22842436
"type":"structure",
22852437
"required":[
@@ -2293,7 +2445,7 @@
22932445
},
22942446
"Service":{
22952447
"shape":"ServiceChange",
2296-
"documentation":"<p>A complex type that contains the new settings for the service.</p>"
2448+
"documentation":"<p>A complex type that contains the new settings for the service. You can specify a maximum of 30 attributes (key-value pairs).</p>"
22972449
}
22982450
}
22992451
},

0 commit comments

Comments
 (0)