private void initializeParameters() { SSMParameter hostnameParameter = SSMClient.Instance.GetParameter(SSMLibrary.Constants.POD_ELASTICACHE_MEMCACHED_URL_PATH); HostName = hostnameParameter.Value; SSMParameter portParameter = SSMClient.Instance.GetParameter(SSMLibrary.Constants.POD_ELASTICACHE_MEMCACHED_PORT_PATH); Port = int.Parse(portParameter.Value); }
private static string getDeliveryStream() { string selectedDeliveryStream = string.Empty; SSMParameter streamsParameter = SSMClient.Instance.GetParameter(SSMLibrary.Constants.FSL_FIREHOSE_STREAM_PATH); if (streamsParameter != null && !string.IsNullOrEmpty(streamsParameter.Value)) { string[] deliveryStreams = streamsParameter.Value.Split(',', StringSplitOptions.RemoveEmptyEntries); if (deliveryStreams.Length > 0) { m_StreamIndex %= deliveryStreams.Length; selectedDeliveryStream = deliveryStreams[m_StreamIndex]; m_StreamIndex++; } } return(selectedDeliveryStream); }
private void updateAmazonKinesisFirehoseClient() { bool isOldClientNeedsRecreation = m_ClientCreatedDateTime == DateTime.MinValue || DateTime.Now.Subtract(m_ClientCreatedDateTime) >= TimeSpan.FromHours(1); if (m_shouldInitializeClient && isOldClientNeedsRecreation) { try { SSMParameter arnParameter = SSMClient.Instance.GetParameter("/FSL/Firehose/ARN"); string firehoseArn = arnParameter?.Value; SSMParameter regionParameter = SSMClient.Instance.GetParameter(SSMLibrary.Constants.FSL_FIREHOSE_REGION_PATH); RegionEndpoint firehoseRegionEndpoint = RegionEndpoint.GetBySystemName(regionParameter.Value); if (string.IsNullOrEmpty(firehoseArn)) { // Create client without assume role, same account as firehose. m_Client = new AmazonKinesisFirehoseClient(firehoseRegionEndpoint); } else { // Create client with assume role SSMParameter STSRegion = SSMClient.Instance.GetParameter("/FSL/Firehose/STSRegion"); AmazonSecurityTokenServiceClient stsClient = new AmazonSecurityTokenServiceClient(RegionEndpoint.GetBySystemName(STSRegion.Value)); AssumeRoleRequest stsRequest = new AssumeRoleRequest { RoleArn = firehoseArn, RoleSessionName = string.Format("{0}_{1}_Monitoring", m_Product, m_Feature) }; AssumeRoleResponse stsResult = stsClient.AssumeRoleAsync(stsRequest).Result; m_Client = new AmazonKinesisFirehoseClient(stsResult.Credentials, firehoseRegionEndpoint); } m_ClientCreatedDateTime = DateTime.Now; } catch (Exception ex) { m_logger.LogError(string.Format("Failed to initialize AWSLogger\n{0}", LogUtils.GetExceptionDetails(ex))); } } }