public override void Invoke(AWSCredentials creds, RegionEndpoint region, int maxItems) { AmazonElasticsearchConfig config = new AmazonElasticsearchConfig(); config.RegionEndpoint = region; ConfigureClient(config); AmazonElasticsearchClient client = new AmazonElasticsearchClient(creds, config); ListElasticsearchVersionsResponse resp = new ListElasticsearchVersionsResponse(); do { ListElasticsearchVersionsRequest req = new ListElasticsearchVersionsRequest { NextToken = resp.NextToken , MaxResults = maxItems }; resp = client.ListElasticsearchVersions(req); CheckError(resp.HttpStatusCode, "200"); foreach (var obj in resp.ElasticsearchVersions) { AddObject(obj); } }while (!string.IsNullOrEmpty(resp.NextToken)); }
public Search(string awsAccessKeyId, string awsSecretAccessKey, string region, string searchServiceEndpoint) { var regionEndpoint = RegionEndpoint.EnumerableAllRegions.Where(p => p.SystemName.Equals(region, StringComparison.InvariantCultureIgnoreCase)).FirstOrDefault(); client = new AmazonElasticsearchClient(awsAccessKeyId, awsSecretAccessKey, regionEndpoint); serviceEndpoint = searchServiceEndpoint; }
protected IAmazonElasticsearch CreateClient(AWSCredentials credentials, RegionEndpoint region) { var config = new AmazonElasticsearchConfig { RegionEndpoint = region }; Amazon.PowerShell.Utils.Common.PopulateConfig(this, config); this.CustomizeClientConfig(config); var client = new AmazonElasticsearchClient(credentials, config); client.BeforeRequestEvent += RequestEventHandler; client.AfterResponseEvent += ResponseEventHandler; return(client); }
public static void FunctionHandler(FunctionInput input, ILambdaContext context) { var es_domain = "Insert ES Domain Name Here"; var es_arn = "Insert ES full ARN Here"; var ec2client = new AmazonEC2Client(); var result = ec2client.DescribeInstancesAsync(new DescribeInstancesRequest { InstanceIds = new List <string> { input.Instanceid } }); var publicIP = result.Result.Reservations[0].Instances[0].PublicIpAddress; var newAccessPolicy = $"{{\"Version\":\"2012-10-17\",\"Statement\":[{{\"Effect\":\"Allow\",\"Principal\":{{\"AWS\":\"*\"}},\"Action\":\"es:*\",\"Resource\":\"{es_arn}\",\"Condition\":{{\"IpAddress\":{{\"aws:SourceIp\":[\"{publicIP}\"]}}}}}}]}}"; var esclient = new AmazonElasticsearchClient(); var updateAccessPolicy = esclient.UpdateElasticsearchDomainConfigAsync(new UpdateElasticsearchDomainConfigRequest { DomainName = es_domain, AccessPolicies = newAccessPolicy }).Result; }
public Search(string awsAccessKeyId, string awsSecretAccessKey, RegionEndpoint region, string searchServiceEndpoint) { client = new AmazonElasticsearchClient(awsAccessKeyId, awsSecretAccessKey, region); serviceEndpoint = searchServiceEndpoint; }
public Search(string searchServiceEndpoint) { client = new AmazonElasticsearchClient(); serviceEndpoint = searchServiceEndpoint; }