# Functions
CheckCloudCredCreation will see whether we have enough permissions to create new sub-creds.
CheckCloudCredPassthrough will see if the provided creds are good enough to pass through to other components as-is based on the static list of permissions needed by the various users of CredentialsRequests TODO: move away from static list (to dynamic passthrough validation?).
CheckPermissionsAgainstActions will take the static list of Actions to check whether the provided awsClient creds have sufficient permissions to perform the actions.
CheckPermissionsAgainstStatementList will test to see whether the list of actions in the provided list of StatementEntries can work with the credentials used by the passed-in awsClient.
CheckPermissionsUsingQueryClient will use queryClient to query whether the credentials in targetClient can perform the actions listed in the statementEntries.
NewClient creates our client wrapper object for the actual AWS clients we use.
NewClientFromSession will return a basic Client using only the provided awsSession.
# Structs
ClientParams holds the various optional tunables that can be used to modify the AWS client that will be used for API calls.
SimulateParams captures any additional details that should be used when simulating permissions.
# Interfaces
Client is a wrapper object for actual AWS SDK clients to allow for easier testing.