From 06e265dfd3e4f23ae92c4ee2b2c7037b8568c05b Mon Sep 17 00:00:00 2001
From: Russell Cohen <rcoh@amazon.com>
Date: Mon, 30 Oct 2023 09:58:46 -0400
Subject: [PATCH] Update SDK external types (#3080)

## Motivation and Context
- https://github.com/awslabs/smithy-rs/issues/3019

## Description
Prune / split out allow external types

## Testing
- CI

----

_By submitting this pull request, I confirm that you can use, modify,
copy, and redistribute this contribution, under the terms of your
choice._
---
 aws/sdk/sdk-external-types.toml | 35 +++++++++++++++++++++------------
 1 file changed, 22 insertions(+), 13 deletions(-)

diff --git a/aws/sdk/sdk-external-types.toml b/aws/sdk/sdk-external-types.toml
index 4705c4e295..b4f1806f45 100644
--- a/aws/sdk/sdk-external-types.toml
+++ b/aws/sdk/sdk-external-types.toml
@@ -1,22 +1,31 @@
 # These are the allowed external types in the `aws-sdk-*` generated crates, checked by CI.
 allowed_external_types = [
-    "aws_credential_types::*",
-    "aws_http::*",
-    "aws_runtime::*",
-    "aws_smithy_async::*",
-    "aws_smithy_http::*",
-    "aws_smithy_runtime::*",
-    "aws_smithy_runtime_api::*",
     "aws_smithy_types::*",
+    "aws_credential_types::*",
     "aws_types::*",
-
-    "http::header::map::HeaderMap",
-    "http::header::value::HeaderValue",
+    "aws_smithy_runtime_api::*",
+    "aws_smithy_async::rt::sleep::*",
+    "aws_smithy_async::time::*",
+    "aws_smithy_async::future::pagination_stream::PaginationStream",
+    # only allowed in from impl for presigned request
     "http::request::Request",
-    "http::error::Error",
-    "http::uri::Uri",
-    "http::method::Method",
 
     # TODO(https://github.com/awslabs/smithy-rs/issues/1193): Once tooling permits it, only allow the following types in the `event-stream` feature
     "aws_smithy_eventstream::*",
+
+    # Consider moving making this crate 1.0
+    "aws_smithy_runtime::client::identity::cache::IdentityCache",
+
+    ### All below this line need to be fixed:
+    # The following are not OK
+    "aws_http::request_id::RequestId", # move to aws-types
+    # `set_invocation_id_generator` — consider make pub(crate) or moving trait to AwsTypes
+    "aws_runtime::invocation_id::SharedInvocationIdGenerator",
+    "aws_runtime::invocation_id::InvocationIdGenerator",
+
+    # Pending fix in open PRs:
+    "aws_smithy_http::result::*",
+
+    # Pending future fix
+    "aws_smithy_http::event_stream::*",
 ]