aws-sdk-ecrpublic 1.41.0 → 1.42.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: 2c087a6ad19be7133b6249a77384ece229d95ad1d502e1a68ae9283d80ca394e
4
- data.tar.gz: 1842725553b480f3c8fdf6d1da357eebab25f6f4c149771bc7d522ff13a32cfb
3
+ metadata.gz: 614e988b907a8a2b7ca250bcc8f49c708d6a0f34e34cc05c61b650e4028209b9
4
+ data.tar.gz: ba4d6cd40b7d38de5f52ac2f623d882268b703104ae0db15ef52bbb315ad2d17
5
5
  SHA512:
6
- metadata.gz: 7109b289427758ba5b273dc328c021d1e9aa8a180c67d57ef0a9ee24bfbd4d262c349519241039817124c291dd2a1bfd0cf71ec0b54667af472d3c8943ec5856
7
- data.tar.gz: bcab7f7010ea813c983a123f66c996b86e1103b384cebd432de40b12e379e333f82a836c2a1c92f7466b2abad969e4fecfcd41803537defdc3663fda1b5d04b4
6
+ metadata.gz: e16f885d3350d6098e63aaf118efce0447948b2011d6136aa02f6202808bb732ef25c45c4ca6ce06734a7bfb1609044ece7411f19ddedb8c6fdde93b4c171171
7
+ data.tar.gz: 3d80290b2f7d1c3eb6c5050d9cb14cc2551cfcce63b8d0f02250d8d0cbffb345aa1bde1e8d0973720234efa47bdcf3e2a9f54ef0a1a5e9fecb28dfcd982d0bdf
data/CHANGELOG.md CHANGED
@@ -1,6 +1,11 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.42.0 (2024-12-28)
5
+ ------------------
6
+
7
+ * Feature - Restoring custom endpoint functionality for ECR Public
8
+
4
9
  1.41.0 (2024-12-23)
5
10
  ------------------
6
11
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.41.0
1
+ 1.42.0
@@ -1667,7 +1667,7 @@ module Aws::ECRPublic
1667
1667
  tracer: tracer
1668
1668
  )
1669
1669
  context[:gem_name] = 'aws-sdk-ecrpublic'
1670
- context[:gem_version] = '1.41.0'
1670
+ context[:gem_version] = '1.42.0'
1671
1671
  Seahorse::Client::Request.new(handlers, context)
1672
1672
  end
1673
1673
 
@@ -15,20 +15,26 @@ module Aws::ECRPublic
15
15
  #
16
16
  # @return [String]
17
17
  #
18
+ # @!attribute use_dual_stack
19
+ # When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.
20
+ #
21
+ # @return [Boolean]
22
+ #
18
23
  # @!attribute use_fips
19
24
  # When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.
20
25
  #
21
26
  # @return [Boolean]
22
27
  #
23
- # @!attribute use_dual_stack
24
- # When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.
28
+ # @!attribute endpoint
29
+ # Override the endpoint used to send this request
25
30
  #
26
- # @return [Boolean]
31
+ # @return [String]
27
32
  #
28
33
  EndpointParameters = Struct.new(
29
34
  :region,
30
- :use_fips,
31
35
  :use_dual_stack,
36
+ :use_fips,
37
+ :endpoint,
32
38
  ) do
33
39
  include Aws::Structure
34
40
 
@@ -36,24 +42,27 @@ module Aws::ECRPublic
36
42
  class << self
37
43
  PARAM_MAP = {
38
44
  'Region' => :region,
39
- 'UseFIPS' => :use_fips,
40
45
  'UseDualStack' => :use_dual_stack,
46
+ 'UseFIPS' => :use_fips,
47
+ 'Endpoint' => :endpoint,
41
48
  }.freeze
42
49
  end
43
50
 
44
51
  def initialize(options = {})
45
52
  self[:region] = options[:region]
46
- self[:use_fips] = options[:use_fips]
47
- self[:use_fips] = false if self[:use_fips].nil?
48
53
  self[:use_dual_stack] = options[:use_dual_stack]
49
54
  self[:use_dual_stack] = false if self[:use_dual_stack].nil?
55
+ self[:use_fips] = options[:use_fips]
56
+ self[:use_fips] = false if self[:use_fips].nil?
57
+ self[:endpoint] = options[:endpoint]
50
58
  end
51
59
 
52
60
  def self.create(config, options={})
53
61
  new({
54
62
  region: config.region,
55
- use_fips: config.use_fips_endpoint,
56
63
  use_dual_stack: config.use_dualstack_endpoint,
64
+ use_fips: config.use_fips_endpoint,
65
+ endpoint: (config.endpoint.to_s unless config.regional_endpoint),
57
66
  }.merge(options))
58
67
  end
59
68
  end
@@ -11,20 +11,42 @@ module Aws::ECRPublic
11
11
  class EndpointProvider
12
12
  def resolve_endpoint(parameters)
13
13
  region = parameters.region
14
- use_fips = parameters.use_fips
15
14
  use_dual_stack = parameters.use_dual_stack
16
- if Aws::Endpoints::Matchers.set?(region) && (partition_result = Aws::Endpoints::Matchers.aws_partition(region))
15
+ use_fips = parameters.use_fips
16
+ endpoint = parameters.endpoint
17
+ if Aws::Endpoints::Matchers.set?(endpoint)
17
18
  if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true)
18
- raise ArgumentError, "ECR Public does not support FIPS"
19
+ raise ArgumentError, "Invalid Configuration: FIPS and custom endpoint are not supported"
19
20
  end
20
21
  if Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
21
- if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsDualStack"))
22
- return Aws::Endpoints::Endpoint.new(url: "https://ecr-public.#{region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
22
+ raise ArgumentError, "Invalid Configuration: Dualstack and custom endpoint are not supported"
23
+ end
24
+ return Aws::Endpoints::Endpoint.new(url: endpoint, headers: {}, properties: {})
25
+ end
26
+ if Aws::Endpoints::Matchers.set?(region)
27
+ if (partition_result = Aws::Endpoints::Matchers.aws_partition(region))
28
+ if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true) && Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
29
+ if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS")) && Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsDualStack"))
30
+ return Aws::Endpoints::Endpoint.new(url: "https://api.ecr-public-fips.#{region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
31
+ end
32
+ raise ArgumentError, "FIPS and DualStack are enabled, but this partition does not support one or both"
33
+ end
34
+ if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true)
35
+ if Aws::Endpoints::Matchers.boolean_equals?(Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS"), true)
36
+ return Aws::Endpoints::Endpoint.new(url: "https://api.ecr-public-fips.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
37
+ end
38
+ raise ArgumentError, "FIPS is enabled but this partition does not support FIPS"
39
+ end
40
+ if Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
41
+ if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsDualStack"))
42
+ return Aws::Endpoints::Endpoint.new(url: "https://api.ecr-public.#{region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
43
+ end
44
+ raise ArgumentError, "DualStack is enabled but this partition does not support DualStack"
23
45
  end
24
- raise ArgumentError, "Dualstack is enabled but this partition does not support dualstack"
46
+ return Aws::Endpoints::Endpoint.new(url: "https://api.ecr-public.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
25
47
  end
26
- return Aws::Endpoints::Endpoint.new(url: "https://api.ecr-public.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
27
48
  end
49
+ raise ArgumentError, "Invalid Configuration: Missing Region"
28
50
  raise ArgumentError, 'No endpoint could be resolved'
29
51
 
30
52
  end
@@ -54,7 +54,7 @@ module Aws::ECRPublic
54
54
  autoload :EndpointProvider, 'aws-sdk-ecrpublic/endpoint_provider'
55
55
  autoload :Endpoints, 'aws-sdk-ecrpublic/endpoints'
56
56
 
57
- GEM_VERSION = '1.41.0'
57
+ GEM_VERSION = '1.42.0'
58
58
 
59
59
  end
60
60
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-ecrpublic
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.41.0
4
+ version: 1.42.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-12-23 00:00:00.000000000 Z
11
+ date: 2024-12-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core