aws-sdk-servicediscovery 1.77.0 → 1.79.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 84bbc254c1d1a1bd362ae1e3b236aac3f79dfd2b1344c2c60dd0deabed448539
4
- data.tar.gz: cd9f161f58509b173dde2e23e32b6a26c8332647eb64858f1f8da9b7b35c07e3
3
+ metadata.gz: c651dd147cad8b2020905d942d173f9e3cc878ccdc1c89bc72a2628b68444322
4
+ data.tar.gz: ccdb0730720fd31419c29e6d43b61691393391ed7de3e107cf36e33885f90cbd
5
5
  SHA512:
6
- metadata.gz: 6038c1b62539ad548ef07dc856928536471a1f5805c7ca445abc52131b9c4a58d383a4a00a27ba16d704437e65ea8169989aada6320378c499ea1ee7b5868009
7
- data.tar.gz: 464736323cd613c505bf2338f70453de85130f0b34a770a0ee4b45d8a5ccb405b240586e5878c4adbdfc48233f647bc117e33858715657c246f98164d488a62a
6
+ metadata.gz: e5df058c4b2e56c82cdfc2ffa79e08d7eecddcdcedc9430c70f585016ea078558949c3bdd6f86d0665e22dc76b67aee6adece4f0f6db86f9a95ad5257f2ac533
7
+ data.tar.gz: 3cf7615c92f914012e54b9f84a82d1ebabe6215a04b10fcb5e65e976fcbd20e724b0881085b50b0a35257e55bd0638446b7a48345d6c2653e4c45d7101981e6b
data/CHANGELOG.md CHANGED
@@ -1,6 +1,16 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.79.0 (2024-12-13)
5
+ ------------------
6
+
7
+ * Feature - 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.
8
+
9
+ 1.78.0 (2024-11-18)
10
+ ------------------
11
+
12
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
13
+
4
14
  1.77.0 (2024-11-06)
5
15
  ------------------
6
16
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.77.0
1
+ 1.79.0
@@ -746,7 +746,6 @@ module Aws::ServiceDiscovery
746
746
  # * `SRV`
747
747
  #
748
748
  # * `CNAME`
749
- #
750
749
  # * Optionally, a health check
751
750
  #
752
751
  # After you create the service, you can submit a [RegisterInstance][1]
@@ -1009,8 +1008,9 @@ module Aws::ServiceDiscovery
1009
1008
  req.send_request(options)
1010
1009
  end
1011
1010
 
1012
- # Deletes a specified service. If the service still contains one or more
1013
- # registered instances, the request fails.
1011
+ # Deletes a specified service and all associated service attributes. If
1012
+ # the service still contains one or more registered instances, the
1013
+ # request fails.
1014
1014
  #
1015
1015
  # @option params [required, String] :id
1016
1016
  # The ID of the service that you want to delete.
@@ -1045,6 +1045,49 @@ module Aws::ServiceDiscovery
1045
1045
  req.send_request(options)
1046
1046
  end
1047
1047
 
1048
+ # Deletes specific attributes associated with a service.
1049
+ #
1050
+ # @option params [required, String] :service_id
1051
+ # The ID of the service from which the attributes will be deleted.
1052
+ #
1053
+ # @option params [required, Array<String>] :attributes
1054
+ # A list of keys corresponding to each attribute that you want to
1055
+ # delete.
1056
+ #
1057
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1058
+ #
1059
+ #
1060
+ # @example Example: DeleteServiceAttributes example
1061
+ #
1062
+ # # Example: Delete service attribute by providing attribute key and service ID
1063
+ #
1064
+ # resp = client.delete_service_attributes({
1065
+ # attributes: [
1066
+ # "port",
1067
+ # ],
1068
+ # service_id: "srv-e4anhexample0004",
1069
+ # })
1070
+ #
1071
+ # resp.to_h outputs the following:
1072
+ # {
1073
+ # }
1074
+ #
1075
+ # @example Request syntax with placeholder values
1076
+ #
1077
+ # resp = client.delete_service_attributes({
1078
+ # service_id: "ResourceId", # required
1079
+ # attributes: ["ServiceAttributeKey"], # required
1080
+ # })
1081
+ #
1082
+ # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/DeleteServiceAttributes AWS API Documentation
1083
+ #
1084
+ # @overload delete_service_attributes(params = {})
1085
+ # @param [Hash] params ({})
1086
+ def delete_service_attributes(params = {}, options = {})
1087
+ req = build_request(:delete_service_attributes, params)
1088
+ req.send_request(options)
1089
+ end
1090
+
1048
1091
  # Deletes the Amazon Route 53 DNS records and health check, if any, that
1049
1092
  # Cloud Map created for the specified instance.
1050
1093
  #
@@ -1630,6 +1673,55 @@ module Aws::ServiceDiscovery
1630
1673
  req.send_request(options)
1631
1674
  end
1632
1675
 
1676
+ # Returns the attributes associated with a specified service.
1677
+ #
1678
+ # @option params [required, String] :service_id
1679
+ # The ID of the service that you want to get attributes for.
1680
+ #
1681
+ # @return [Types::GetServiceAttributesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1682
+ #
1683
+ # * {Types::GetServiceAttributesResponse#service_attributes #service_attributes} => Types::ServiceAttributes
1684
+ #
1685
+ #
1686
+ # @example Example: GetServiceAttributes Example
1687
+ #
1688
+ # # This example gets the attributes for a specified service.
1689
+ #
1690
+ # resp = client.get_service_attributes({
1691
+ # service_id: "srv-e4anhexample0004",
1692
+ # })
1693
+ #
1694
+ # resp.to_h outputs the following:
1695
+ # {
1696
+ # service_attributes: {
1697
+ # attributes: {
1698
+ # "port" => "80",
1699
+ # },
1700
+ # service_arn: "arn:aws:servicediscovery:us-west-2:123456789012:service/srv-e4anhexample0004",
1701
+ # },
1702
+ # }
1703
+ #
1704
+ # @example Request syntax with placeholder values
1705
+ #
1706
+ # resp = client.get_service_attributes({
1707
+ # service_id: "ResourceId", # required
1708
+ # })
1709
+ #
1710
+ # @example Response structure
1711
+ #
1712
+ # resp.service_attributes.service_arn #=> String
1713
+ # resp.service_attributes.attributes #=> Hash
1714
+ # resp.service_attributes.attributes["ServiceAttributeKey"] #=> String
1715
+ #
1716
+ # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/GetServiceAttributes AWS API Documentation
1717
+ #
1718
+ # @overload get_service_attributes(params = {})
1719
+ # @param [Hash] params ({})
1720
+ def get_service_attributes(params = {}, options = {})
1721
+ req = build_request(:get_service_attributes, params)
1722
+ req.send_request(options)
1723
+ end
1724
+
1633
1725
  # Lists summary information about the instances that you registered by
1634
1726
  # using a specified service.
1635
1727
  #
@@ -2599,9 +2691,9 @@ module Aws::ServiceDiscovery
2599
2691
  # * {Types::UpdatePrivateDnsNamespaceResponse#operation_id #operation_id} => String
2600
2692
  #
2601
2693
  #
2602
- # @example Example: To update a private DNS namespace
2694
+ # @example Example: To update a public DNS namespace
2603
2695
  #
2604
- # # The following example updates the description of a private DNS namespace.
2696
+ # # The following example updates the description of a public DNS namespace.
2605
2697
  #
2606
2698
  # resp = client.update_private_dns_namespace({
2607
2699
  # id: "ns-bk3aEXAMPLE",
@@ -2613,12 +2705,12 @@ module Aws::ServiceDiscovery
2613
2705
  #
2614
2706
  # resp.to_h outputs the following:
2615
2707
  # {
2616
- # operation_id: "ft52xe2koxhoeormaceymagglsdjyvEXAMPLE",
2708
+ # operation_id: "ft52xe2koxhoeormaceymagglsdjEXAMPLE",
2617
2709
  # }
2618
2710
  #
2619
- # @example Example: To update a public DNS namespace
2711
+ # @example Example: To update a private DNS namespace
2620
2712
  #
2621
- # # The following example updates the description of a public DNS namespace.
2713
+ # # The following example updates the description of a private DNS namespace.
2622
2714
  #
2623
2715
  # resp = client.update_private_dns_namespace({
2624
2716
  # id: "ns-bk3aEXAMPLE",
@@ -2630,7 +2722,7 @@ module Aws::ServiceDiscovery
2630
2722
  #
2631
2723
  # resp.to_h outputs the following:
2632
2724
  # {
2633
- # operation_id: "ft52xe2koxhoeormaceymagglsdjEXAMPLE",
2725
+ # operation_id: "ft52xe2koxhoeormaceymagglsdjyvEXAMPLE",
2634
2726
  # }
2635
2727
  #
2636
2728
  # @example Request syntax with placeholder values
@@ -2743,7 +2835,8 @@ module Aws::ServiceDiscovery
2743
2835
  # The ID of the service that you want to update.
2744
2836
  #
2745
2837
  # @option params [required, Types::ServiceChange] :service
2746
- # A complex type that contains the new settings for the service.
2838
+ # A complex type that contains the new settings for the service. You can
2839
+ # specify a maximum of 30 attributes (key-value pairs).
2747
2840
  #
2748
2841
  # @return [Types::UpdateServiceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2749
2842
  #
@@ -2813,6 +2906,51 @@ module Aws::ServiceDiscovery
2813
2906
  req.send_request(options)
2814
2907
  end
2815
2908
 
2909
+ # Submits a request to update a specified service to add service-level
2910
+ # attributes.
2911
+ #
2912
+ # @option params [required, String] :service_id
2913
+ # The ID of the service that you want to update.
2914
+ #
2915
+ # @option params [required, Hash<String,String>] :attributes
2916
+ # A string map that contains attribute key-value pairs.
2917
+ #
2918
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2919
+ #
2920
+ #
2921
+ # @example Example: UpdateServiceAttributes Example
2922
+ #
2923
+ # # This example submits a request to update the specified service to add a port attribute with the value 80.
2924
+ #
2925
+ # resp = client.update_service_attributes({
2926
+ # attributes: {
2927
+ # "port" => "80",
2928
+ # },
2929
+ # service_id: "srv-e4anhexample0004",
2930
+ # })
2931
+ #
2932
+ # resp.to_h outputs the following:
2933
+ # {
2934
+ # }
2935
+ #
2936
+ # @example Request syntax with placeholder values
2937
+ #
2938
+ # resp = client.update_service_attributes({
2939
+ # service_id: "ResourceId", # required
2940
+ # attributes: { # required
2941
+ # "ServiceAttributeKey" => "ServiceAttributeValue",
2942
+ # },
2943
+ # })
2944
+ #
2945
+ # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/UpdateServiceAttributes AWS API Documentation
2946
+ #
2947
+ # @overload update_service_attributes(params = {})
2948
+ # @param [Hash] params ({})
2949
+ def update_service_attributes(params = {}, options = {})
2950
+ req = build_request(:update_service_attributes, params)
2951
+ req.send_request(options)
2952
+ end
2953
+
2816
2954
  # @!endgroup
2817
2955
 
2818
2956
  # @param params ({})
@@ -2831,7 +2969,7 @@ module Aws::ServiceDiscovery
2831
2969
  tracer: tracer
2832
2970
  )
2833
2971
  context[:gem_name] = 'aws-sdk-servicediscovery'
2834
- context[:gem_version] = '1.77.0'
2972
+ context[:gem_version] = '1.79.0'
2835
2973
  Seahorse::Client::Request.new(handlers, context)
2836
2974
  end
2837
2975
 
@@ -32,6 +32,8 @@ module Aws::ServiceDiscovery
32
32
  CustomHealthStatus = Shapes::StringShape.new(name: 'CustomHealthStatus')
33
33
  DeleteNamespaceRequest = Shapes::StructureShape.new(name: 'DeleteNamespaceRequest')
34
34
  DeleteNamespaceResponse = Shapes::StructureShape.new(name: 'DeleteNamespaceResponse')
35
+ DeleteServiceAttributesRequest = Shapes::StructureShape.new(name: 'DeleteServiceAttributesRequest')
36
+ DeleteServiceAttributesResponse = Shapes::StructureShape.new(name: 'DeleteServiceAttributesResponse')
35
37
  DeleteServiceRequest = Shapes::StructureShape.new(name: 'DeleteServiceRequest')
36
38
  DeleteServiceResponse = Shapes::StructureShape.new(name: 'DeleteServiceResponse')
37
39
  DeregisterInstanceRequest = Shapes::StructureShape.new(name: 'DeregisterInstanceRequest')
@@ -60,6 +62,8 @@ module Aws::ServiceDiscovery
60
62
  GetNamespaceResponse = Shapes::StructureShape.new(name: 'GetNamespaceResponse')
61
63
  GetOperationRequest = Shapes::StructureShape.new(name: 'GetOperationRequest')
62
64
  GetOperationResponse = Shapes::StructureShape.new(name: 'GetOperationResponse')
65
+ GetServiceAttributesRequest = Shapes::StructureShape.new(name: 'GetServiceAttributesRequest')
66
+ GetServiceAttributesResponse = Shapes::StructureShape.new(name: 'GetServiceAttributesResponse')
63
67
  GetServiceRequest = Shapes::StructureShape.new(name: 'GetServiceRequest')
64
68
  GetServiceResponse = Shapes::StructureShape.new(name: 'GetServiceResponse')
65
69
  HealthCheckConfig = Shapes::StructureShape.new(name: 'HealthCheckConfig')
@@ -146,6 +150,12 @@ module Aws::ServiceDiscovery
146
150
  SOAChange = Shapes::StructureShape.new(name: 'SOAChange')
147
151
  Service = Shapes::StructureShape.new(name: 'Service')
148
152
  ServiceAlreadyExists = Shapes::StructureShape.new(name: 'ServiceAlreadyExists')
153
+ ServiceAttributeKey = Shapes::StringShape.new(name: 'ServiceAttributeKey')
154
+ ServiceAttributeKeyList = Shapes::ListShape.new(name: 'ServiceAttributeKeyList')
155
+ ServiceAttributeValue = Shapes::StringShape.new(name: 'ServiceAttributeValue')
156
+ ServiceAttributes = Shapes::StructureShape.new(name: 'ServiceAttributes')
157
+ ServiceAttributesLimitExceededException = Shapes::StructureShape.new(name: 'ServiceAttributesLimitExceededException')
158
+ ServiceAttributesMap = Shapes::MapShape.new(name: 'ServiceAttributesMap')
149
159
  ServiceChange = Shapes::StructureShape.new(name: 'ServiceChange')
150
160
  ServiceFilter = Shapes::StructureShape.new(name: 'ServiceFilter')
151
161
  ServiceFilterName = Shapes::StringShape.new(name: 'ServiceFilterName')
@@ -174,6 +184,8 @@ module Aws::ServiceDiscovery
174
184
  UpdatePrivateDnsNamespaceResponse = Shapes::StructureShape.new(name: 'UpdatePrivateDnsNamespaceResponse')
175
185
  UpdatePublicDnsNamespaceRequest = Shapes::StructureShape.new(name: 'UpdatePublicDnsNamespaceRequest')
176
186
  UpdatePublicDnsNamespaceResponse = Shapes::StructureShape.new(name: 'UpdatePublicDnsNamespaceResponse')
187
+ UpdateServiceAttributesRequest = Shapes::StructureShape.new(name: 'UpdateServiceAttributesRequest')
188
+ UpdateServiceAttributesResponse = Shapes::StructureShape.new(name: 'UpdateServiceAttributesResponse')
177
189
  UpdateServiceRequest = Shapes::StructureShape.new(name: 'UpdateServiceRequest')
178
190
  UpdateServiceResponse = Shapes::StructureShape.new(name: 'UpdateServiceResponse')
179
191
 
@@ -233,6 +245,12 @@ module Aws::ServiceDiscovery
233
245
  DeleteNamespaceResponse.add_member(:operation_id, Shapes::ShapeRef.new(shape: OperationId, location_name: "OperationId"))
234
246
  DeleteNamespaceResponse.struct_class = Types::DeleteNamespaceResponse
235
247
 
248
+ DeleteServiceAttributesRequest.add_member(:service_id, Shapes::ShapeRef.new(shape: ResourceId, required: true, location_name: "ServiceId"))
249
+ DeleteServiceAttributesRequest.add_member(:attributes, Shapes::ShapeRef.new(shape: ServiceAttributeKeyList, required: true, location_name: "Attributes"))
250
+ DeleteServiceAttributesRequest.struct_class = Types::DeleteServiceAttributesRequest
251
+
252
+ DeleteServiceAttributesResponse.struct_class = Types::DeleteServiceAttributesResponse
253
+
236
254
  DeleteServiceRequest.add_member(:id, Shapes::ShapeRef.new(shape: ResourceId, required: true, location_name: "Id"))
237
255
  DeleteServiceRequest.struct_class = Types::DeleteServiceRequest
238
256
 
@@ -317,6 +335,12 @@ module Aws::ServiceDiscovery
317
335
  GetOperationResponse.add_member(:operation, Shapes::ShapeRef.new(shape: Operation, location_name: "Operation"))
318
336
  GetOperationResponse.struct_class = Types::GetOperationResponse
319
337
 
338
+ GetServiceAttributesRequest.add_member(:service_id, Shapes::ShapeRef.new(shape: ResourceId, required: true, location_name: "ServiceId"))
339
+ GetServiceAttributesRequest.struct_class = Types::GetServiceAttributesRequest
340
+
341
+ GetServiceAttributesResponse.add_member(:service_attributes, Shapes::ShapeRef.new(shape: ServiceAttributes, location_name: "ServiceAttributes"))
342
+ GetServiceAttributesResponse.struct_class = Types::GetServiceAttributesResponse
343
+
320
344
  GetServiceRequest.add_member(:id, Shapes::ShapeRef.new(shape: ResourceId, required: true, location_name: "Id"))
321
345
  GetServiceRequest.struct_class = Types::GetServiceRequest
322
346
 
@@ -559,6 +583,18 @@ module Aws::ServiceDiscovery
559
583
  ServiceAlreadyExists.add_member(:service_id, Shapes::ShapeRef.new(shape: ResourceId, location_name: "ServiceId"))
560
584
  ServiceAlreadyExists.struct_class = Types::ServiceAlreadyExists
561
585
 
586
+ ServiceAttributeKeyList.member = Shapes::ShapeRef.new(shape: ServiceAttributeKey)
587
+
588
+ ServiceAttributes.add_member(:service_arn, Shapes::ShapeRef.new(shape: Arn, location_name: "ServiceArn"))
589
+ ServiceAttributes.add_member(:attributes, Shapes::ShapeRef.new(shape: ServiceAttributesMap, location_name: "Attributes"))
590
+ ServiceAttributes.struct_class = Types::ServiceAttributes
591
+
592
+ ServiceAttributesLimitExceededException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
593
+ ServiceAttributesLimitExceededException.struct_class = Types::ServiceAttributesLimitExceededException
594
+
595
+ ServiceAttributesMap.key = Shapes::ShapeRef.new(shape: ServiceAttributeKey)
596
+ ServiceAttributesMap.value = Shapes::ShapeRef.new(shape: ServiceAttributeValue)
597
+
562
598
  ServiceChange.add_member(:description, Shapes::ShapeRef.new(shape: ResourceDescription, location_name: "Description"))
563
599
  ServiceChange.add_member(:dns_config, Shapes::ShapeRef.new(shape: DnsConfigChange, location_name: "DnsConfig"))
564
600
  ServiceChange.add_member(:health_check_config, Shapes::ShapeRef.new(shape: HealthCheckConfig, location_name: "HealthCheckConfig"))
@@ -641,6 +677,12 @@ module Aws::ServiceDiscovery
641
677
  UpdatePublicDnsNamespaceResponse.add_member(:operation_id, Shapes::ShapeRef.new(shape: OperationId, location_name: "OperationId"))
642
678
  UpdatePublicDnsNamespaceResponse.struct_class = Types::UpdatePublicDnsNamespaceResponse
643
679
 
680
+ UpdateServiceAttributesRequest.add_member(:service_id, Shapes::ShapeRef.new(shape: ResourceId, required: true, location_name: "ServiceId"))
681
+ UpdateServiceAttributesRequest.add_member(:attributes, Shapes::ShapeRef.new(shape: ServiceAttributesMap, required: true, location_name: "Attributes"))
682
+ UpdateServiceAttributesRequest.struct_class = Types::UpdateServiceAttributesRequest
683
+
684
+ UpdateServiceAttributesResponse.struct_class = Types::UpdateServiceAttributesResponse
685
+
644
686
  UpdateServiceRequest.add_member(:id, Shapes::ShapeRef.new(shape: ResourceId, required: true, location_name: "Id"))
645
687
  UpdateServiceRequest.add_member(:service, Shapes::ShapeRef.new(shape: ServiceChange, required: true, location_name: "Service"))
646
688
  UpdateServiceRequest.struct_class = Types::UpdateServiceRequest
@@ -744,6 +786,16 @@ module Aws::ServiceDiscovery
744
786
  o.errors << Shapes::ShapeRef.new(shape: ResourceInUse)
745
787
  end)
746
788
 
789
+ api.add_operation(:delete_service_attributes, Seahorse::Model::Operation.new.tap do |o|
790
+ o.name = "DeleteServiceAttributes"
791
+ o.http_method = "POST"
792
+ o.http_request_uri = "/"
793
+ o.input = Shapes::ShapeRef.new(shape: DeleteServiceAttributesRequest)
794
+ o.output = Shapes::ShapeRef.new(shape: DeleteServiceAttributesResponse)
795
+ o.errors << Shapes::ShapeRef.new(shape: InvalidInput)
796
+ o.errors << Shapes::ShapeRef.new(shape: ServiceNotFound)
797
+ end)
798
+
747
799
  api.add_operation(:deregister_instance, Seahorse::Model::Operation.new.tap do |o|
748
800
  o.name = "DeregisterInstance"
749
801
  o.http_method = "POST"
@@ -845,6 +897,16 @@ module Aws::ServiceDiscovery
845
897
  o.errors << Shapes::ShapeRef.new(shape: ServiceNotFound)
846
898
  end)
847
899
 
900
+ api.add_operation(:get_service_attributes, Seahorse::Model::Operation.new.tap do |o|
901
+ o.name = "GetServiceAttributes"
902
+ o.http_method = "POST"
903
+ o.http_request_uri = "/"
904
+ o.input = Shapes::ShapeRef.new(shape: GetServiceAttributesRequest)
905
+ o.output = Shapes::ShapeRef.new(shape: GetServiceAttributesResponse)
906
+ o.errors << Shapes::ShapeRef.new(shape: InvalidInput)
907
+ o.errors << Shapes::ShapeRef.new(shape: ServiceNotFound)
908
+ end)
909
+
848
910
  api.add_operation(:list_instances, Seahorse::Model::Operation.new.tap do |o|
849
911
  o.name = "ListInstances"
850
912
  o.http_method = "POST"
@@ -1008,6 +1070,17 @@ module Aws::ServiceDiscovery
1008
1070
  o.errors << Shapes::ShapeRef.new(shape: InvalidInput)
1009
1071
  o.errors << Shapes::ShapeRef.new(shape: ServiceNotFound)
1010
1072
  end)
1073
+
1074
+ api.add_operation(:update_service_attributes, Seahorse::Model::Operation.new.tap do |o|
1075
+ o.name = "UpdateServiceAttributes"
1076
+ o.http_method = "POST"
1077
+ o.http_request_uri = "/"
1078
+ o.input = Shapes::ShapeRef.new(shape: UpdateServiceAttributesRequest)
1079
+ o.output = Shapes::ShapeRef.new(shape: UpdateServiceAttributesResponse)
1080
+ o.errors << Shapes::ShapeRef.new(shape: InvalidInput)
1081
+ o.errors << Shapes::ShapeRef.new(shape: ServiceNotFound)
1082
+ o.errors << Shapes::ShapeRef.new(shape: ServiceAttributesLimitExceededException)
1083
+ end)
1011
1084
  end
1012
1085
 
1013
1086
  end
@@ -39,6 +39,7 @@ module Aws::ServiceDiscovery
39
39
  # * {ResourceLimitExceeded}
40
40
  # * {ResourceNotFoundException}
41
41
  # * {ServiceAlreadyExists}
42
+ # * {ServiceAttributesLimitExceededException}
42
43
  # * {ServiceNotFound}
43
44
  # * {TooManyTagsException}
44
45
  #
@@ -253,6 +254,21 @@ module Aws::ServiceDiscovery
253
254
  end
254
255
  end
255
256
 
257
+ class ServiceAttributesLimitExceededException < ServiceError
258
+
259
+ # @param [Seahorse::Client::RequestContext] context
260
+ # @param [String] message
261
+ # @param [Aws::ServiceDiscovery::Types::ServiceAttributesLimitExceededException] data
262
+ def initialize(context, message, data = Aws::EmptyStructure.new)
263
+ super(context, message, data)
264
+ end
265
+
266
+ # @return [String]
267
+ def message
268
+ @message || @data[:message]
269
+ end
270
+ end
271
+
256
272
  class ServiceNotFound < ServiceError
257
273
 
258
274
  # @param [Seahorse::Client::RequestContext] context
@@ -372,6 +372,28 @@ module Aws::ServiceDiscovery
372
372
  include Aws::Structure
373
373
  end
374
374
 
375
+ # @!attribute [rw] service_id
376
+ # The ID of the service from which the attributes will be deleted.
377
+ # @return [String]
378
+ #
379
+ # @!attribute [rw] attributes
380
+ # A list of keys corresponding to each attribute that you want to
381
+ # delete.
382
+ # @return [Array<String>]
383
+ #
384
+ # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/DeleteServiceAttributesRequest AWS API Documentation
385
+ #
386
+ class DeleteServiceAttributesRequest < Struct.new(
387
+ :service_id,
388
+ :attributes)
389
+ SENSITIVE = []
390
+ include Aws::Structure
391
+ end
392
+
393
+ # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/DeleteServiceAttributesResponse AWS API Documentation
394
+ #
395
+ class DeleteServiceAttributesResponse < Aws::EmptyStructure; end
396
+
375
397
  # @!attribute [rw] id
376
398
  # The ID of the service that you want to delete.
377
399
  # @return [String]
@@ -558,9 +580,6 @@ module Aws::ServiceDiscovery
558
580
  # records that you want Cloud Map to create when you register an
559
581
  # instance.
560
582
  #
561
- # The record types of a service can only be changed by deleting the
562
- # service and recreating it with a new `Dnsconfig`.
563
- #
564
583
  # @!attribute [rw] namespace_id
565
584
  # *Use NamespaceId in [Service][1] instead.*
566
585
  #
@@ -634,6 +653,10 @@ module Aws::ServiceDiscovery
634
653
  # An array that contains one `DnsRecord` object for each Route 53 DNS
635
654
  # record that you want Cloud Map to create when you register an
636
655
  # instance.
656
+ #
657
+ # The record type of a service specified in a `DnsRecord` object
658
+ # can't be updated. To change a record type, you need to delete the
659
+ # service and recreate it with a new `DnsConfig`.
637
660
  # @return [Array<Types::DnsRecord>]
638
661
  #
639
662
  # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/DnsConfig AWS API Documentation
@@ -762,7 +785,6 @@ module Aws::ServiceDiscovery
762
785
  # * The name of the service.
763
786
  #
764
787
  # * The name of the namespace.
765
- #
766
788
  # For example, if the value of `InstanceId` is `test`, the name of
767
789
  # the service is `backend`, and the name of the namespace is
768
790
  # `example.com`, the value of `service-hostname` is the following:
@@ -982,6 +1004,31 @@ module Aws::ServiceDiscovery
982
1004
  include Aws::Structure
983
1005
  end
984
1006
 
1007
+ # @!attribute [rw] service_id
1008
+ # The ID of the service that you want to get attributes for.
1009
+ # @return [String]
1010
+ #
1011
+ # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/GetServiceAttributesRequest AWS API Documentation
1012
+ #
1013
+ class GetServiceAttributesRequest < Struct.new(
1014
+ :service_id)
1015
+ SENSITIVE = []
1016
+ include Aws::Structure
1017
+ end
1018
+
1019
+ # @!attribute [rw] service_attributes
1020
+ # A complex type that contains the service ARN and a list of attribute
1021
+ # key-value pairs associated with the service.
1022
+ # @return [Types::ServiceAttributes]
1023
+ #
1024
+ # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/GetServiceAttributesResponse AWS API Documentation
1025
+ #
1026
+ class GetServiceAttributesResponse < Struct.new(
1027
+ :service_attributes)
1028
+ SENSITIVE = []
1029
+ include Aws::Structure
1030
+ end
1031
+
985
1032
  # @!attribute [rw] id
986
1033
  # The ID of the service that you want to get settings for.
987
1034
  # @return [String]
@@ -2876,6 +2923,47 @@ module Aws::ServiceDiscovery
2876
2923
  include Aws::Structure
2877
2924
  end
2878
2925
 
2926
+ # A complex type that contains information about attributes associated
2927
+ # with a specific service.
2928
+ #
2929
+ # @!attribute [rw] service_arn
2930
+ # The ARN of the service that the attributes are associated with.
2931
+ # @return [String]
2932
+ #
2933
+ # @!attribute [rw] attributes
2934
+ # A string map that contains the following information for the service
2935
+ # that you specify in `ServiceArn`:
2936
+ #
2937
+ # * The attributes that apply to the service.
2938
+ #
2939
+ # * For each attribute, the applicable value.
2940
+ #
2941
+ # You can specify a total of 30 attributes.
2942
+ # @return [Hash<String,String>]
2943
+ #
2944
+ # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/ServiceAttributes AWS API Documentation
2945
+ #
2946
+ class ServiceAttributes < Struct.new(
2947
+ :service_arn,
2948
+ :attributes)
2949
+ SENSITIVE = []
2950
+ include Aws::Structure
2951
+ end
2952
+
2953
+ # The attribute can't be added to the service because you've exceeded
2954
+ # the quota for the number of attributes you can add to a service.
2955
+ #
2956
+ # @!attribute [rw] message
2957
+ # @return [String]
2958
+ #
2959
+ # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/ServiceAttributesLimitExceededException AWS API Documentation
2960
+ #
2961
+ class ServiceAttributesLimitExceededException < Struct.new(
2962
+ :message)
2963
+ SENSITIVE = []
2964
+ include Aws::Structure
2965
+ end
2966
+
2879
2967
  # A complex type that contains changes to an existing service.
2880
2968
  #
2881
2969
  # @!attribute [rw] description
@@ -3295,12 +3383,34 @@ module Aws::ServiceDiscovery
3295
3383
  include Aws::Structure
3296
3384
  end
3297
3385
 
3386
+ # @!attribute [rw] service_id
3387
+ # The ID of the service that you want to update.
3388
+ # @return [String]
3389
+ #
3390
+ # @!attribute [rw] attributes
3391
+ # A string map that contains attribute key-value pairs.
3392
+ # @return [Hash<String,String>]
3393
+ #
3394
+ # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/UpdateServiceAttributesRequest AWS API Documentation
3395
+ #
3396
+ class UpdateServiceAttributesRequest < Struct.new(
3397
+ :service_id,
3398
+ :attributes)
3399
+ SENSITIVE = []
3400
+ include Aws::Structure
3401
+ end
3402
+
3403
+ # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/UpdateServiceAttributesResponse AWS API Documentation
3404
+ #
3405
+ class UpdateServiceAttributesResponse < Aws::EmptyStructure; end
3406
+
3298
3407
  # @!attribute [rw] id
3299
3408
  # The ID of the service that you want to update.
3300
3409
  # @return [String]
3301
3410
  #
3302
3411
  # @!attribute [rw] service
3303
- # A complex type that contains the new settings for the service.
3412
+ # A complex type that contains the new settings for the service. You
3413
+ # can specify a maximum of 30 attributes (key-value pairs).
3304
3414
  # @return [Types::ServiceChange]
3305
3415
  #
3306
3416
  # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/UpdateServiceRequest AWS API Documentation
@@ -54,7 +54,7 @@ module Aws::ServiceDiscovery
54
54
  autoload :EndpointProvider, 'aws-sdk-servicediscovery/endpoint_provider'
55
55
  autoload :Endpoints, 'aws-sdk-servicediscovery/endpoints'
56
56
 
57
- GEM_VERSION = '1.77.0'
57
+ GEM_VERSION = '1.79.0'
58
58
 
59
59
  end
60
60
 
data/sig/client.rbs CHANGED
@@ -202,6 +202,16 @@ module Aws
202
202
  ) -> _DeleteServiceResponseSuccess
203
203
  | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _DeleteServiceResponseSuccess
204
204
 
205
+ interface _DeleteServiceAttributesResponseSuccess
206
+ include ::Seahorse::Client::_ResponseSuccess[Types::DeleteServiceAttributesResponse]
207
+ end
208
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/ServiceDiscovery/Client.html#delete_service_attributes-instance_method
209
+ def delete_service_attributes: (
210
+ service_id: ::String,
211
+ attributes: Array[::String]
212
+ ) -> _DeleteServiceAttributesResponseSuccess
213
+ | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _DeleteServiceAttributesResponseSuccess
214
+
205
215
  interface _DeregisterInstanceResponseSuccess
206
216
  include ::Seahorse::Client::_ResponseSuccess[Types::DeregisterInstanceResponse]
207
217
  def operation_id: () -> ::String
@@ -295,6 +305,16 @@ module Aws
295
305
  ) -> _GetServiceResponseSuccess
296
306
  | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _GetServiceResponseSuccess
297
307
 
308
+ interface _GetServiceAttributesResponseSuccess
309
+ include ::Seahorse::Client::_ResponseSuccess[Types::GetServiceAttributesResponse]
310
+ def service_attributes: () -> Types::ServiceAttributes
311
+ end
312
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/ServiceDiscovery/Client.html#get_service_attributes-instance_method
313
+ def get_service_attributes: (
314
+ service_id: ::String
315
+ ) -> _GetServiceAttributesResponseSuccess
316
+ | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _GetServiceAttributesResponseSuccess
317
+
298
318
  interface _ListInstancesResponseSuccess
299
319
  include ::Seahorse::Client::_ResponseSuccess[Types::ListInstancesResponse]
300
320
  def instances: () -> ::Array[Types::InstanceSummary]
@@ -502,6 +522,16 @@ module Aws
502
522
  }
503
523
  ) -> _UpdateServiceResponseSuccess
504
524
  | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _UpdateServiceResponseSuccess
525
+
526
+ interface _UpdateServiceAttributesResponseSuccess
527
+ include ::Seahorse::Client::_ResponseSuccess[Types::UpdateServiceAttributesResponse]
528
+ end
529
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/ServiceDiscovery/Client.html#update_service_attributes-instance_method
530
+ def update_service_attributes: (
531
+ service_id: ::String,
532
+ attributes: Hash[::String, ::String]
533
+ ) -> _UpdateServiceAttributesResponseSuccess
534
+ | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _UpdateServiceAttributesResponseSuccess
505
535
  end
506
536
  end
507
537
  end
data/sig/errors.rbs CHANGED
@@ -52,6 +52,9 @@ module Aws
52
52
  def creator_request_id: () -> ::String
53
53
  def service_id: () -> ::String
54
54
  end
55
+ class ServiceAttributesLimitExceededException < ::Aws::Errors::ServiceError
56
+ def message: () -> ::String
57
+ end
55
58
  class ServiceNotFound < ::Aws::Errors::ServiceError
56
59
  def message: () -> ::String
57
60
  end
data/sig/types.rbs CHANGED
@@ -83,6 +83,15 @@ module Aws::ServiceDiscovery
83
83
  SENSITIVE: []
84
84
  end
85
85
 
86
+ class DeleteServiceAttributesRequest
87
+ attr_accessor service_id: ::String
88
+ attr_accessor attributes: ::Array[::String]
89
+ SENSITIVE: []
90
+ end
91
+
92
+ class DeleteServiceAttributesResponse < Aws::EmptyStructure
93
+ end
94
+
86
95
  class DeleteServiceRequest
87
96
  attr_accessor id: ::String
88
97
  SENSITIVE: []
@@ -204,6 +213,16 @@ module Aws::ServiceDiscovery
204
213
  SENSITIVE: []
205
214
  end
206
215
 
216
+ class GetServiceAttributesRequest
217
+ attr_accessor service_id: ::String
218
+ SENSITIVE: []
219
+ end
220
+
221
+ class GetServiceAttributesResponse
222
+ attr_accessor service_attributes: Types::ServiceAttributes
223
+ SENSITIVE: []
224
+ end
225
+
207
226
  class GetServiceRequest
208
227
  attr_accessor id: ::String
209
228
  SENSITIVE: []
@@ -528,6 +547,17 @@ module Aws::ServiceDiscovery
528
547
  SENSITIVE: []
529
548
  end
530
549
 
550
+ class ServiceAttributes
551
+ attr_accessor service_arn: ::String
552
+ attr_accessor attributes: ::Hash[::String, ::String]
553
+ SENSITIVE: []
554
+ end
555
+
556
+ class ServiceAttributesLimitExceededException
557
+ attr_accessor message: ::String
558
+ SENSITIVE: []
559
+ end
560
+
531
561
  class ServiceChange
532
562
  attr_accessor description: ::String
533
563
  attr_accessor dns_config: Types::DnsConfigChange
@@ -634,6 +664,15 @@ module Aws::ServiceDiscovery
634
664
  SENSITIVE: []
635
665
  end
636
666
 
667
+ class UpdateServiceAttributesRequest
668
+ attr_accessor service_id: ::String
669
+ attr_accessor attributes: ::Hash[::String, ::String]
670
+ SENSITIVE: []
671
+ end
672
+
673
+ class UpdateServiceAttributesResponse < Aws::EmptyStructure
674
+ end
675
+
637
676
  class UpdateServiceRequest
638
677
  attr_accessor id: ::String
639
678
  attr_accessor service: Types::ServiceChange
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-servicediscovery
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.77.0
4
+ version: 1.79.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-11-06 00:00:00.000000000 Z
11
+ date: 2024-12-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core