/// <summary> /// Increases or decreases the stream's data retention period by the value that you specify. /// To indicate whether you want to increase or decrease the data retention period, specify /// the <code>Operation</code> parameter in the request body. In the request, you must /// specify either the <code>StreamName</code> or the <code>StreamARN</code>. /// /// <note> /// <para> /// The retention period that you specify replaces the current value. /// </para> /// </note> /// <para> /// This operation requires permission for the <code>KinesisVideo:UpdateDataRetention</code> /// action. /// </para> /// /// <para> /// Changing the data retention period affects the data in the stream as follows: /// </para> /// <ul> <li> /// <para> /// If the data retention period is increased, existing data is retained for the new retention /// period. For example, if the data retention period is increased from one hour to seven /// hours, all existing data is retained for seven hours. /// </para> /// </li> <li> /// <para> /// If the data retention period is decreased, existing data is retained for the new retention /// period. For example, if the data retention period is decreased from seven hours to /// one hour, all existing data is retained for one hour, and any data older than one /// hour is deleted immediately. /// </para> /// </li> </ul> /// </summary> /// <param name="request">Container for the necessary parameters to execute the UpdateDataRetention service method.</param> /// /// <returns>The response from the UpdateDataRetention service method, as returned by KinesisVideo.</returns> /// <exception cref="Amazon.KinesisVideo.Model.ClientLimitExceededException"> /// Kinesis Video Streams has throttled the request because you have exceeded the limit /// of allowed client calls. Try making the call later. /// </exception> /// <exception cref="Amazon.KinesisVideo.Model.InvalidArgumentException"> /// The value for this input parameter is invalid. /// </exception> /// <exception cref="Amazon.KinesisVideo.Model.NotAuthorizedException"> /// The caller is not authorized to perform this operation. /// </exception> /// <exception cref="Amazon.KinesisVideo.Model.ResourceInUseException"> /// The stream is currently not available for this operation. /// </exception> /// <exception cref="Amazon.KinesisVideo.Model.ResourceNotFoundException"> /// Amazon Kinesis Video Streams can't find the stream that you specified. /// </exception> /// <exception cref="Amazon.KinesisVideo.Model.VersionMismatchException"> /// The stream version that you specified is not the latest version. To get the latest /// version, use the <a href="http://docs.aws.amazon.com/kinesisvideo/latest/dg/API_DescribeStream.html">DescribeStream</a> /// API. /// </exception> /// <seealso href="http://docs.aws.amazon.com/goto/WebAPI/kinesisvideo-2017-09-30/UpdateDataRetention">REST API Reference for UpdateDataRetention Operation</seealso> public virtual UpdateDataRetentionResponse UpdateDataRetention(UpdateDataRetentionRequest request) { var marshaller = new UpdateDataRetentionRequestMarshaller(); var unmarshaller = UpdateDataRetentionResponseUnmarshaller.Instance; return(Invoke <UpdateDataRetentionRequest, UpdateDataRetentionResponse>(request, marshaller, unmarshaller)); }
public void UpdateDataRetentionMarshallTest() { var operation = service_model.FindOperation("UpdateDataRetention"); var request = InstantiateClassGenerator.Execute <UpdateDataRetentionRequest>(); var marshaller = new UpdateDataRetentionRequestMarshaller(); var internalRequest = marshaller.Marshall(request); TestTools.RequestValidator.Validate("UpdateDataRetention", request, internalRequest, service_model); var webResponse = new WebResponseData { Headers = { { "x-amzn-RequestId", Guid.NewGuid().ToString() }, { "x-amz-crc32", "0" } } }; var payloadResponse = new JsonSampleGenerator(service_model, operation.ResponseStructure).Execute(); webResponse.Headers["Content-Length"] = UTF8Encoding.UTF8.GetBytes(payloadResponse).Length.ToString(); var context = new JsonUnmarshallerContext(Utils.CreateStreamFromString(payloadResponse), false, webResponse); ResponseUnmarshaller unmarshaller = UpdateDataRetentionResponseUnmarshaller.Instance; var response = unmarshaller.Unmarshall(context) as UpdateDataRetentionResponse; InstantiateClassGenerator.ValidateObjectFullyInstantiated(response); }
/// <summary> /// Initiates the asynchronous execution of the UpdateDataRetention operation. /// </summary> /// /// <param name="request">Container for the necessary parameters to execute the UpdateDataRetention operation.</param> /// <param name="cancellationToken"> /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// </param> /// <returns>The task object representing the asynchronous operation.</returns> /// <seealso href="http://docs.aws.amazon.com/goto/WebAPI/kinesisvideo-2017-09-30/UpdateDataRetention">REST API Reference for UpdateDataRetention Operation</seealso> public virtual Task <UpdateDataRetentionResponse> UpdateDataRetentionAsync(UpdateDataRetentionRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var marshaller = new UpdateDataRetentionRequestMarshaller(); var unmarshaller = UpdateDataRetentionResponseUnmarshaller.Instance; return(InvokeAsync <UpdateDataRetentionRequest, UpdateDataRetentionResponse>(request, marshaller, unmarshaller, cancellationToken)); }