Ejemplo n.º 1
0
        static void WriteObjectRetention()
        {
            string id = Common.InputString("Key:", null, false);

            try
            {
                PutObjectRetentionRequest request = new PutObjectRetentionRequest
                {
                    BucketName = _Bucket,
                    Key        = id
                };

                request.Retention                 = new ObjectLockRetention();
                request.Retention.Mode            = "foo";
                request.Retention.RetainUntilDate = DateTime.Now.AddYears(5);

                PutObjectRetentionResponse response = _S3Client.PutObjectRetentionAsync(request).Result;
                int statusCode = (int)response.HttpStatusCode;

                if (response != null)
                {
                    Console.WriteLine("Success");
                    return;
                }
                else
                {
                    Console.WriteLine("Failed");
                    return;
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(Common.SerializeJson(e, true));
            }
        }
        public void TestObjectRetention_SetCompliance()
        {
            AddObjectLockConfiguration();

            DateTime date = DateTime.Now.AddMinutes(15);
            var      key  = PutObject();

            try
            {
                //Put the object retention on the specific object
                var putRequest = new PutObjectRetentionRequest
                {
                    BucketName = bucketName,
                    BypassGovernanceRetention = true,
                    Retention = new ObjectLockRetention
                    {
                        Mode            = ObjectLockRetentionMode.Governance,
                        RetainUntilDate = date
                    },
                    RequestPayer = RequestPayer.Requester,
                    Key          = key
                };

                var putResponse = Client.PutObjectRetention(putRequest);
                Assert.AreEqual(true, putResponse.HttpStatusCode == HttpStatusCode.OK);

                //Get the object retention
                var getRequest = new GetObjectRetentionRequest
                {
                    BucketName   = bucketName,
                    Key          = key,
                    RequestPayer = RequestPayer.Requester
                };

                var getResponse = Client.GetObjectRetention(getRequest);
                Assert.AreEqual(true, getResponse.HttpStatusCode == HttpStatusCode.OK);

                Assert.AreEqual(ObjectLockRetentionMode.Governance, getResponse.Retention.Mode);
                Assert.AreEqual(date.ToString(), getResponse.Retention.RetainUntilDate.ToString());
            }
            catch
            {
                throw;
            }
            finally
            {
                DeleteObject(key);
            }
        }
Ejemplo n.º 3
0
 public Task <PutObjectRetentionResponse> PutObjectRetentionAsync(PutObjectRetentionRequest request, CancellationToken cancellationToken = default)
 {
     throw new NotImplementedException();
 }