aws-sdk-servicediscovery 1.78.0 → 1.79.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5b63ed388a0ac9ab1bec8f973023105696e4258f6aff2817d04b134e5df0ccdc
4
- data.tar.gz: 7dc1e61ed216dcd9376d6e5d8ae5542141ab28fc686964104477183770ed8dfa
3
+ metadata.gz: c651dd147cad8b2020905d942d173f9e3cc878ccdc1c89bc72a2628b68444322
4
+ data.tar.gz: ccdb0730720fd31419c29e6d43b61691393391ed7de3e107cf36e33885f90cbd
5
5
  SHA512:
6
- metadata.gz: 4e81d0668ce0f0ff28ebc4a5f50b1cab6c78ed6ae3e606b38e89ca5c9bfaa3b7880a00c9adca9d733471565d68d925e3469918d4358bfeae69f8a3c6815d5c33
7
- data.tar.gz: '09c78599f7dbef7e915bef72008993c0198db62d366a5ea32a8ec987b2e84a8cc151334b9936586bc20ad475ed42e214f1973d2963a14189cc2c9953c36e39ff'
6
+ metadata.gz: e5df058c4b2e56c82cdfc2ffa79e08d7eecddcdcedc9430c70f585016ea078558949c3bdd6f86d0665e22dc76b67aee6adece4f0f6db86f9a95ad5257f2ac533
7
+ data.tar.gz: 3cf7615c92f914012e54b9f84a82d1ebabe6215a04b10fcb5e65e976fcbd20e724b0881085b50b0a35257e55bd0638446b7a48345d6c2653e4c45d7101981e6b
data/CHANGELOG.md CHANGED
@@ -1,6 +1,11 @@
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
+
4
9
  1.78.0 (2024-11-18)
5
10
  ------------------
6
11
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.78.0
1
+ 1.79.0
@@ -1008,8 +1008,9 @@ module Aws::ServiceDiscovery
1008
1008
  req.send_request(options)
1009
1009
  end
1010
1010
 
1011
- # Deletes a specified service. If the service still contains one or more
1012
- # 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.
1013
1014
  #
1014
1015
  # @option params [required, String] :id
1015
1016
  # The ID of the service that you want to delete.
@@ -1044,6 +1045,49 @@ module Aws::ServiceDiscovery
1044
1045
  req.send_request(options)
1045
1046
  end
1046
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
+
1047
1091
  # Deletes the Amazon Route 53 DNS records and health check, if any, that
1048
1092
  # Cloud Map created for the specified instance.
1049
1093
  #
@@ -1629,6 +1673,55 @@ module Aws::ServiceDiscovery
1629
1673
  req.send_request(options)
1630
1674
  end
1631
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
+
1632
1725
  # Lists summary information about the instances that you registered by
1633
1726
  # using a specified service.
1634
1727
  #
@@ -2598,9 +2691,9 @@ module Aws::ServiceDiscovery
2598
2691
  # * {Types::UpdatePrivateDnsNamespaceResponse#operation_id #operation_id} => String
2599
2692
  #
2600
2693
  #
2601
- # @example Example: To update a private DNS namespace
2694
+ # @example Example: To update a public DNS namespace
2602
2695
  #
2603
- # # The following example updates the description of a private DNS namespace.
2696
+ # # The following example updates the description of a public DNS namespace.
2604
2697
  #
2605
2698
  # resp = client.update_private_dns_namespace({
2606
2699
  # id: "ns-bk3aEXAMPLE",
@@ -2612,12 +2705,12 @@ module Aws::ServiceDiscovery
2612
2705
  #
2613
2706
  # resp.to_h outputs the following:
2614
2707
  # {
2615
- # operation_id: "ft52xe2koxhoeormaceymagglsdjyvEXAMPLE",
2708
+ # operation_id: "ft52xe2koxhoeormaceymagglsdjEXAMPLE",
2616
2709
  # }
2617
2710
  #
2618
- # @example Example: To update a public DNS namespace
2711
+ # @example Example: To update a private DNS namespace
2619
2712
  #
2620
- # # The following example updates the description of a public DNS namespace.
2713
+ # # The following example updates the description of a private DNS namespace.
2621
2714
  #
2622
2715
  # resp = client.update_private_dns_namespace({
2623
2716
  # id: "ns-bk3aEXAMPLE",
@@ -2629,7 +2722,7 @@ module Aws::ServiceDiscovery
2629
2722
  #
2630
2723
  # resp.to_h outputs the following:
2631
2724
  # {
2632
- # operation_id: "ft52xe2koxhoeormaceymagglsdjEXAMPLE",
2725
+ # operation_id: "ft52xe2koxhoeormaceymagglsdjyvEXAMPLE",
2633
2726
  # }
2634
2727
  #
2635
2728
  # @example Request syntax with placeholder values
@@ -2742,7 +2835,8 @@ module Aws::ServiceDiscovery
2742
2835
  # The ID of the service that you want to update.
2743
2836
  #
2744
2837
  # @option params [required, Types::ServiceChange] :service
2745
- # 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).
2746
2840
  #
2747
2841
  # @return [Types::UpdateServiceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2748
2842
  #
@@ -2812,6 +2906,51 @@ module Aws::ServiceDiscovery
2812
2906
  req.send_request(options)
2813
2907
  end
2814
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
+
2815
2954
  # @!endgroup
2816
2955
 
2817
2956
  # @param params ({})
@@ -2830,7 +2969,7 @@ module Aws::ServiceDiscovery
2830
2969
  tracer: tracer
2831
2970
  )
2832
2971
  context[:gem_name] = 'aws-sdk-servicediscovery'
2833
- context[:gem_version] = '1.78.0'
2972
+ context[:gem_version] = '1.79.0'
2834
2973
  Seahorse::Client::Request.new(handlers, context)
2835
2974
  end
2836
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
@@ -981,6 +1004,31 @@ module Aws::ServiceDiscovery
981
1004
  include Aws::Structure
982
1005
  end
983
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
+
984
1032
  # @!attribute [rw] id
985
1033
  # The ID of the service that you want to get settings for.
986
1034
  # @return [String]
@@ -2875,6 +2923,47 @@ module Aws::ServiceDiscovery
2875
2923
  include Aws::Structure
2876
2924
  end
2877
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
+
2878
2967
  # A complex type that contains changes to an existing service.
2879
2968
  #
2880
2969
  # @!attribute [rw] description
@@ -3294,12 +3383,34 @@ module Aws::ServiceDiscovery
3294
3383
  include Aws::Structure
3295
3384
  end
3296
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
+
3297
3407
  # @!attribute [rw] id
3298
3408
  # The ID of the service that you want to update.
3299
3409
  # @return [String]
3300
3410
  #
3301
3411
  # @!attribute [rw] service
3302
- # 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).
3303
3414
  # @return [Types::ServiceChange]
3304
3415
  #
3305
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.78.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.78.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-18 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