public JObject FunctionHandler(JObject input) { LambdaLogger.Log(JObject.FromObject(input).ToString()); string accountId = input.SelectToken("CreateAccountStatus.CreateAccountStatus.AccountId").ToString(); var credentials = AssumeIdentity.AssumeRole(accountId).Credentials; string accessKey = credentials.AccessKeyId; string secretkey = credentials.SecretAccessKey; string sessionToken = credentials.SessionToken; AmazonIdentityManagementServiceClient client = new AmazonIdentityManagementServiceClient(accessKey, secretkey, sessionToken); CreateSAMLProviderRequest request = new CreateSAMLProviderRequest() { Name = "ADFS", SAMLMetadataDocument = MetadataXML() }; CreateSAMLProviderResponse response = client.CreateSAMLProviderAsync(request).Result; JObject outputObject = new JObject(); outputObject.Add("CreateSAMLProviderResponse", JObject.FromObject(response)); outputObject.Add("CreateAccountResponse", input.SelectToken("CreateAccountStatus")); outputObject.Add("EventData", input.SelectToken("EventData")); return(outputObject); }
public override AmazonWebServiceResponse Unmarshall(XmlUnmarshallerContext context) { CreateSAMLProviderResponse response = new CreateSAMLProviderResponse(); context.Read(); int targetDepth = context.CurrentDepth; while (context.ReadAtDepth(targetDepth)) { if (context.IsStartElement) { if (context.TestExpression("CreateSAMLProviderResult", 2)) { UnmarshallResult(context, response); continue; } if (context.TestExpression("ResponseMetadata", 2)) { response.ResponseMetadata = ResponseMetadataUnmarshaller.Instance.Unmarshall(context); } } } return(response); }
private static void UnmarshallResult(XmlUnmarshallerContext context, CreateSAMLProviderResponse response) { int originalDepth = context.CurrentDepth; int targetDepth = originalDepth + 1; if (context.IsStartOfDocument) { targetDepth += 2; } while (context.ReadAtDepth(originalDepth)) { if (context.IsStartElement || context.IsAttribute) { if (context.TestExpression("SAMLProviderArn", targetDepth)) { var unmarshaller = StringUnmarshaller.Instance; response.SAMLProviderArn = unmarshaller.Unmarshall(context); continue; } } } return; }
private static void CreateSAMLProvider(String Name, String MetadataFile) { if (String.IsNullOrEmpty(Token)) { stsClient = new AmazonIdentityManagementServiceClient(AccessKeyId, SecretKey, iamconfig); } else { stsClient = new AmazonIdentityManagementServiceClient(AccessKeyId, SecretKey, Token, iamconfig); } try { CreateSAMLProviderRequest Req = new CreateSAMLProviderRequest(); if (File.Exists(MetadataFile)) { String Metadata = File.ReadAllText(MetadataFile); Req.SAMLMetadataDocument = Metadata; Req.Name = Name; CreateSAMLProviderResponse response = stsClient.CreateSAMLProvider(Req); Console.WriteLine("Saml Provider Created successfully."); } else { Console.WriteLine("Metadata file missing"); } } catch (Exception ex) { Console.WriteLine("Error occured while creating user. " + ex.ToString()); } }