/// <summary>
        /// Unmarshaller the response from the service to the response class.
        /// </summary>
        /// <param name="context"></param>
        /// <returns></returns>
        public override AmazonWebServiceResponse Unmarshall(JsonUnmarshallerContext context)
        {
            ListEventsResponse response = new ListEventsResponse();

            context.Read();
            int targetDepth = context.CurrentDepth;

            while (context.ReadAtDepth(targetDepth))
            {
                if (context.TestExpression("Events", targetDepth))
                {
                    var unmarshaller = new ListUnmarshaller <Event, EventUnmarshaller>(EventUnmarshaller.Instance);
                    response.Events = unmarshaller.Unmarshall(context);
                    continue;
                }
                if (context.TestExpression("NextToken", targetDepth))
                {
                    var unmarshaller = StringUnmarshaller.Instance;
                    response.NextToken = unmarshaller.Unmarshall(context);
                    continue;
                }
            }

            return(response);
        }
        public ICommandResponse ParseResponse(WebResponse webResponse)
        {
            var response       = new ListEventsResponse();
            var responseStream = webResponse.GetResponseStream();

            if ((responseStream != null) && (responseStream.CanRead))
            {
                var responseDocument = XDocument.Load(responseStream);
                response.Events =
                    responseDocument.Root.Elements()
                    .Where(e => e.Name.LocalName.Equals("event", StringComparison.InvariantCultureIgnoreCase))
                    .Select(Event.From);
            }

            return(response);
        }
Пример #3
0
        public static async Task MainChangeRegion()
        {
            logger.Info("Starting example");
            AuditClient client = null;

            try
            {
                // Assumption: the compartment id has been set in environment variable.
                var compartmentId = Environment.GetEnvironmentVariable("OCI_COMPARTMENT_ID");
                logger.Info(compartmentId);

                // ListEvents
                var listEventsRequest = new ListEventsRequest
                {
                    CompartmentId = compartmentId,
                    StartTime     = DateTime.Now.AddDays(-1),
                    EndTime       = DateTime.Now
                };

                // Create AuditClient
                var provider = new ConfigFileAuthenticationDetailsProvider("DEFAULT");

                using (client = new AuditClient(provider, new ClientConfiguration()))
                {
                    logger.Info($"AuditClient created. Region is set to: {provider.Region}");
                    ListEventsResponse listEventsResp = await GetEvents(client, listEventsRequest);

                    logger.Info($"Received {listEventsResp?.Items.Count} items");
                }

                // Change the region to US_ASHBURN_1 using SetRegion Call
                // We cannot use the same client to change the region. See:
                // https://stackoverflow.com/questions/51478525/httpclient-this-instance-has-already-started-one-or-more-requests-properties-ca
                using (client = new AuditClient(provider, new ClientConfiguration()))
                {
                    client.SetRegion(Region.US_ASHBURN_1);
                    logger.Info("Changing region to US_ASHBURN_1");
                    ListEventsResponse listEventsRespDiffRegion = await GetEvents(client, listEventsRequest);

                    logger.Info($"Received {listEventsRespDiffRegion?.Items.Count} items");
                }
            }
            catch (Exception e)
            {
                logger.Error($"Failed Change Region example: {e.Message}");
            }
        }
        public static ListEventsResponse Unmarshall(UnmarshallerContext context)
        {
            ListEventsResponse listEventsResponse = new ListEventsResponse();

            listEventsResponse.HttpResponse = context.HttpResponse;
            listEventsResponse.Code         = context.StringValue("ListEvents.Code");
            listEventsResponse.Message      = context.StringValue("ListEvents.Message");
            listEventsResponse.NextCursor   = context.StringValue("ListEvents.NextCursor");
            listEventsResponse.TotalCount   = context.IntegerValue("ListEvents.TotalCount");
            listEventsResponse.RequestId    = context.StringValue("ListEvents.RequestId");
            listEventsResponse.Action       = context.StringValue("ListEvents.Action");

            List <ListEventsResponse.ListEvents__Event> listEventsResponse_events = new List <ListEventsResponse.ListEvents__Event>();

            for (int i = 0; i < context.Length("ListEvents.Events.Length"); i++)
            {
                ListEventsResponse.ListEvents__Event _event = new ListEventsResponse.ListEvents__Event();
                _event.Id               = context.LongValue("ListEvents.Events[" + i + "].Id");
                _event.IdStr            = context.StringValue("ListEvents.Events[" + i + "].IdStr");
                _event.Title            = context.StringValue("ListEvents.Events[" + i + "].Title");
                _event.BannerPhotoId    = context.StringValue("ListEvents.Events[" + i + "].BannerPhotoId");
                _event.Identity         = context.StringValue("ListEvents.Events[" + i + "].Identity");
                _event.SplashPhotoId    = context.StringValue("ListEvents.Events[" + i + "].SplashPhotoId");
                _event.State            = context.StringValue("ListEvents.Events[" + i + "].State");
                _event.WeixinTitle      = context.StringValue("ListEvents.Events[" + i + "].WeixinTitle");
                _event.WatermarkPhotoId = context.StringValue("ListEvents.Events[" + i + "].WatermarkPhotoId");
                _event.StartAt          = context.LongValue("ListEvents.Events[" + i + "].StartAt");
                _event.EndAt            = context.LongValue("ListEvents.Events[" + i + "].EndAt");
                _event.Ctime            = context.LongValue("ListEvents.Events[" + i + "].Ctime");
                _event.Mtime            = context.LongValue("ListEvents.Events[" + i + "].Mtime");
                _event.ViewsCount       = context.LongValue("ListEvents.Events[" + i + "].ViewsCount");
                _event.LibraryId        = context.StringValue("ListEvents.Events[" + i + "].LibraryId");
                _event.IdStr1           = context.StringValue("ListEvents.Events[" + i + "].IdStr");

                listEventsResponse_events.Add(_event);
            }
            listEventsResponse.Events = listEventsResponse_events;

            return(listEventsResponse);
        }
Пример #5
0
        public static async Task Main()
        {
            logger.Info("Starting example");
            AuditClient client = null;

            try
            {
                // Assumption: the compartment id has been set in environment variable.
                var compartmentId = Environment.GetEnvironmentVariable("OCI_COMPARTMENT_ID");
                logger.Info(compartmentId);

                // ListEvents
                var listEventsRequest = new ListEventsRequest
                {
                    CompartmentId = compartmentId,
                    StartTime     = DateTime.Now.AddDays(-1),
                    EndTime       = DateTime.Now
                };

                // Create AuditClient
                var provider = new ConfigFileAuthenticationDetailsProvider("DEFAULT");

                using (client = new AuditClient(provider, new ClientConfiguration()))
                {
                    logger.Info("AuditClient created.");

                    ListEventsResponse listEventsResp = await NoRetryExample(client, listEventsRequest);

                    logger.Info($"Received {listEventsResp?.Items.Count} items");

                    ListEventsResponse listEventsRespFromRetry = await RetryExample(client, listEventsRequest);

                    logger.Info($"Received {listEventsRespFromRetry?.Items.Count} items");

                    await CancellationTokenExample(client, listEventsRequest);

                    // GetConfiguration
                    var getConfigurationRequest = new GetConfigurationRequest
                    {
                        CompartmentId = compartmentId
                    };

                    logger.Info("GetConfigurationRequest created.");

                    GetConfigurationResponse getConfigurationResp = await client.GetConfiguration(getConfigurationRequest);

                    logger.Info($"Retention period days: {getConfigurationResp?.Configuration.RetentionPeriodDays}");

                    // UpdateConfiguration
                    var updateConfigurationRequest = new UpdateConfigurationRequest
                    {
                        CompartmentId = compartmentId,
                        UpdateConfigurationDetails = new UpdateConfigurationDetails
                        {
                            RetentionPeriodDays = 90
                        }
                    };

                    logger.Info("UpdateConfigurationRequest created.");

                    UpdateConfigurationResponse updateConfigurationResp = await client.UpdateConfiguration(updateConfigurationRequest);

                    logger.Info($"opc work request id: {updateConfigurationResp.OpcRequestId}");
                }
            }
            catch (Exception e)
            {
                logger.Error($"Failed Audit example: {e.Message}");
            }
        }