aws-sdk-core 3.255.0 → 3.256.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: d76795c344789b1ed0adfd4982ec54f8af8981eff731d7b31f43a0f0e53c5c88
4
- data.tar.gz: 0676a2383699b098c23890acbdee1a5d8fa8c13d824b8b9d030526f15644099d
3
+ metadata.gz: e6b85006460b91003a05c218c29cbc889bfbc95278c36cba844f34aa5537f33f
4
+ data.tar.gz: d742439c2bba64032c84f6916105734502edcde353826dc2d1a6f73d36b31982
5
5
  SHA512:
6
- metadata.gz: 81d193f7c120c866f67b75db26eb4aab3b95650c222f06c85333e079a1ef3b9a0177f42216b43ed2f5d125204ad1fb7256937456e4039ee0f9d6a79492b71cc1
7
- data.tar.gz: 18883c29b742a0adaabe059deeb53b66b72d2c96eb3ed2ca6ebd4fa3038b3aa071b3ddb1fe9a3968c64bbeab51816b8eae9efc64fb4313791eb67a5e15e452f2
6
+ metadata.gz: beab5a6c7ca0cd058ef2f24deea3cb633e7b9f2966acf9a9862cbfacdb276ea551cd0cd17a96437677d5a10b40293fb851d59caf9331b6742790d7e22e1adfbd
7
+ data.tar.gz: 37b88fb8abbbc386ea4aff3234f126f38bfeefb8b9f430d877b0a4c9d014d2a421b45472207747538881513cb00e6217b882e49a7c2c24bb2e32a32ad72aee1a
data/CHANGELOG.md CHANGED
@@ -1,6 +1,11 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 3.256.0 (2026-09-11)
5
+ ------------------
6
+
7
+ * Feature - Preserve millisecond precision when serializing `Time` values on the request path, instead of truncating to whole seconds.
8
+
4
9
  3.255.0 (2026-09-09)
5
10
  ------------------
6
11
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 3.255.0
1
+ 3.256.0
@@ -81,11 +81,11 @@ module Aws
81
81
 
82
82
  def timestamp(ref, value)
83
83
  case ref['timestampFormat'] || ref.shape['timestampFormat']
84
- when 'iso8601' then value.utc.iso8601
84
+ when 'iso8601' then Util.serialize_date_time(value)
85
85
  when 'rfc822' then value.utc.httpdate
86
86
  else
87
87
  # rest-json and jsonrpc default to unixTimestamp
88
- value.to_i
88
+ Util.serialize_epoch_seconds(value)
89
89
  end
90
90
  end
91
91
 
@@ -70,11 +70,11 @@ module Aws
70
70
 
71
71
  def timestamp(ref, value)
72
72
  case ref['timestampFormat'] || ref.shape['timestampFormat']
73
- when 'unixTimestamp' then value.to_i
73
+ when 'unixTimestamp' then Util.serialize_epoch_seconds(value)
74
74
  when 'rfc822' then value.utc.httpdate
75
75
  else
76
76
  # ec2 defaults to iso8601
77
- value.utc.iso8601
77
+ Util.serialize_date_time(value)
78
78
  end
79
79
  end
80
80
 
@@ -87,11 +87,11 @@ module Aws
87
87
 
88
88
  def timestamp(ref, value)
89
89
  case ref['timestampFormat'] || ref.shape['timestampFormat']
90
- when 'unixTimestamp' then value.to_i
90
+ when 'unixTimestamp' then Util.serialize_epoch_seconds(value)
91
91
  when 'rfc822' then value.utc.httpdate
92
92
  else
93
93
  # query defaults to iso8601
94
- value.utc.iso8601
94
+ Util.serialize_date_time(value)
95
95
  end
96
96
  end
97
97
 
@@ -66,11 +66,11 @@ module Aws
66
66
 
67
67
  def timestamp(ref, value)
68
68
  case ref['timestampFormat']
69
- when 'unixTimestamp' then value.to_i
69
+ when 'unixTimestamp' then Util.serialize_epoch_seconds(value)
70
70
  when 'rfc822' then value.utc.httpdate
71
71
  else
72
72
  # serializing as RFC 3399 date-time is the default
73
- value.utc.iso8601
73
+ Util.serialize_date_time(value)
74
74
  end
75
75
  end
76
76
 
@@ -42,8 +42,8 @@ module Aws
42
42
 
43
43
  def timestamp(ref, value)
44
44
  case ref['timestampFormat'] || ref.shape['timestampFormat']
45
- when 'unixTimestamp' then value.to_i
46
- when 'iso8601' then value.utc.iso8601
45
+ when 'unixTimestamp' then Util.serialize_epoch_seconds(value)
46
+ when 'iso8601' then Util.serialize_date_time(value)
47
47
  else
48
48
  # header default to rfc822
49
49
  value.utc.httpdate
@@ -63,11 +63,11 @@ module Aws
63
63
 
64
64
  def timestamp(ref, value)
65
65
  case ref['timestampFormat'] || ref.shape['timestampFormat']
66
- when 'unixTimestamp' then value.to_i
66
+ when 'unixTimestamp' then Util.serialize_epoch_seconds(value)
67
67
  when 'rfc822' then value.utc.httpdate
68
68
  else
69
69
  # querystring defaults to iso8601
70
- value.utc.iso8601
70
+ Util.serialize_date_time(value)
71
71
  end
72
72
  end
73
73
 
@@ -91,6 +91,30 @@ module Aws
91
91
  end
92
92
  end
93
93
 
94
+ # Serializes a {Time} to the Smithy `epoch-seconds` format: seconds
95
+ # since the Unix epoch with optional millisecond precision. Whole-second
96
+ # values are returned as an Integer so the wire format is unchanged for
97
+ # the common case; sub-millisecond precision is truncated to milliseconds.
98
+ # @see https://smithy.io/2.0/spec/protocol-traits.html#timestamp-formats
99
+ # @param [Time] value
100
+ # @return [Integer, Float]
101
+ def serialize_epoch_seconds(value)
102
+ return value.to_i if value.nsec.zero?
103
+
104
+ value.to_i + value.nsec / 1_000_000 / 1000.0
105
+ end
106
+
107
+ # Serializes a {Time} to the Smithy `date-time` format: an RFC 3339
108
+ # (ISO 8601) string with optional millisecond precision and no UTC
109
+ # offset. Fractional seconds are included only when present, and
110
+ # sub-millisecond precision is truncated to milliseconds.
111
+ # @see https://smithy.io/2.0/spec/protocol-traits.html#timestamp-formats
112
+ # @param [Time] value
113
+ # @return [String]
114
+ def serialize_date_time(value)
115
+ value.nsec.zero? ? value.utc.iso8601 : value.utc.iso8601(3)
116
+ end
117
+
94
118
  # @param [String] value
95
119
  # @return [Time]
96
120
  def deserialize_time(value)
@@ -106,11 +106,11 @@ module Aws
106
106
 
107
107
  def timestamp(ref, value)
108
108
  case ref['timestampFormat'] || ref.shape['timestampFormat']
109
- when 'unixTimestamp' then value.to_i
109
+ when 'unixTimestamp' then Util.serialize_epoch_seconds(value)
110
110
  when 'rfc822' then value.utc.httpdate
111
111
  else
112
112
  # xml defaults to iso8601
113
- value.utc.iso8601
113
+ Util.serialize_date_time(value)
114
114
  end
115
115
  end
116
116
 
@@ -983,7 +983,7 @@ module Aws::Signin
983
983
  tracer: tracer
984
984
  )
985
985
  context[:gem_name] = 'aws-sdk-core'
986
- context[:gem_version] = '3.255.0'
986
+ context[:gem_version] = '3.256.0'
987
987
  Seahorse::Client::Request.new(handlers, context)
988
988
  end
989
989
 
@@ -56,7 +56,7 @@ module Aws::Signin
56
56
  autoload :EndpointProvider, 'aws-sdk-signin/endpoint_provider'
57
57
  autoload :Endpoints, 'aws-sdk-signin/endpoints'
58
58
 
59
- GEM_VERSION = '3.255.0'
59
+ GEM_VERSION = '3.256.0'
60
60
 
61
61
  end
62
62
 
@@ -696,7 +696,7 @@ module Aws::SSO
696
696
  tracer: tracer
697
697
  )
698
698
  context[:gem_name] = 'aws-sdk-core'
699
- context[:gem_version] = '3.255.0'
699
+ context[:gem_version] = '3.256.0'
700
700
  Seahorse::Client::Request.new(handlers, context)
701
701
  end
702
702
 
data/lib/aws-sdk-sso.rb CHANGED
@@ -56,7 +56,7 @@ module Aws::SSO
56
56
  autoload :EndpointProvider, 'aws-sdk-sso/endpoint_provider'
57
57
  autoload :Endpoints, 'aws-sdk-sso/endpoints'
58
58
 
59
- GEM_VERSION = '3.255.0'
59
+ GEM_VERSION = '3.256.0'
60
60
 
61
61
  end
62
62
 
@@ -1079,7 +1079,7 @@ module Aws::SSOOIDC
1079
1079
  tracer: tracer
1080
1080
  )
1081
1081
  context[:gem_name] = 'aws-sdk-core'
1082
- context[:gem_version] = '3.255.0'
1082
+ context[:gem_version] = '3.256.0'
1083
1083
  Seahorse::Client::Request.new(handlers, context)
1084
1084
  end
1085
1085
 
@@ -56,7 +56,7 @@ module Aws::SSOOIDC
56
56
  autoload :EndpointProvider, 'aws-sdk-ssooidc/endpoint_provider'
57
57
  autoload :Endpoints, 'aws-sdk-ssooidc/endpoints'
58
58
 
59
- GEM_VERSION = '3.255.0'
59
+ GEM_VERSION = '3.256.0'
60
60
 
61
61
  end
62
62
 
@@ -2723,7 +2723,7 @@ module Aws::STS
2723
2723
  tracer: tracer
2724
2724
  )
2725
2725
  context[:gem_name] = 'aws-sdk-core'
2726
- context[:gem_version] = '3.255.0'
2726
+ context[:gem_version] = '3.256.0'
2727
2727
  Seahorse::Client::Request.new(handlers, context)
2728
2728
  end
2729
2729
 
data/lib/aws-sdk-sts.rb CHANGED
@@ -56,7 +56,7 @@ module Aws::STS
56
56
  autoload :EndpointProvider, 'aws-sdk-sts/endpoint_provider'
57
57
  autoload :Endpoints, 'aws-sdk-sts/endpoints'
58
58
 
59
- GEM_VERSION = '3.255.0'
59
+ GEM_VERSION = '3.256.0'
60
60
 
61
61
  end
62
62
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-core
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.255.0
4
+ version: 3.256.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services