func New(p client.ConfigProvider, cfgs ...*aws.Config) *IAM {
	c := p.ClientConfig(EndpointsID, cfgs...)
	return newClient(*c.Config, c.Handlers, c.Endpoint, c.SigningRegion, c.SigningName)
}
New creates a new instance of the IAM client with a session.
If additional configuration is needed for the client instance use the optional
aws.Config parameter to add your extra config.

Example:
// Create a IAM client from just a session.
svc := iam.New(mySession)

// Create a IAM client with additional configuration
svc := iam.New(mySession, aws.NewConfig().WithRegion("us-west-2"))
package iam
import (
	"github.com/aws/aws-sdk-go/aws"
	"github.com/aws/aws-sdk-go/aws/client"
	"github.com/aws/aws-sdk-go/aws/client/metadata"
	"github.com/aws/aws-sdk-go/aws/request"
	"github.com/aws/aws-sdk-go/aws/signer/v4"
	"github.com/aws/aws-sdk-go/private/protocol/query"
)
type IAM struct {
	*client.Client
}
var initClient func(*client.Client)
var initRequest func(*request.Request)
const (
	ServiceName = "iam"        
	EndpointsID = ServiceName  
)