Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion generator/ServiceClientGeneratorLib/ServiceModel.cs
Original file line number Diff line number Diff line change
Expand Up @@ -563,7 +563,7 @@ public List<Operation> S3AllowListOperations
//new Operation(this, "RestoreObject", DocumentRoot[OperationsKey]["RestoreObject"]),
//new Operation(this, "SelectObjectContent", DocumentRoot[OperationsKey]["SelectObjectContent"]),
new Operation(this, "PutBucketAnalyticsConfiguration" , DocumentRoot[OperationsKey]["PutBucketAnalyticsConfiguration"]),
//new Operation(this, "PutBucketIntelligentTieringConfiguration", DocumentRoot[OperationsKey]["PutBucketIntelligentTieringConfiguration"]),
new Operation(this, "PutBucketIntelligentTieringConfiguration", DocumentRoot[OperationsKey]["PutBucketIntelligentTieringConfiguration"]),
//new Operation(this, "PutBucketInventoryConfiguration", DocumentRoot[OperationsKey]["PutBucketInventoryConfiguration"]),
new Operation(this, "PutBucketMetricsConfiguration", DocumentRoot[OperationsKey]["PutBucketMetricsConfiguration"]),
new Operation(this, "DeleteBucketMetricsConfiguration", DocumentRoot[OperationsKey]["DeleteBucketMetricsConfiguration"]),
Expand Down
26 changes: 25 additions & 1 deletion generator/ServiceModels/s3/s3.customizations.json
Original file line number Diff line number Diff line change
Expand Up @@ -1007,6 +1007,28 @@
]}
}
]
},
"PutBucketIntelligentTieringConfigurationRequest" : {
"modify" : [
{
"Id": {"emitPropertyName": "IntelligentTieringId"}
}
]
},
"IntelligentTieringConfiguration" : {
"modify": [
{
"Id" :{"emitPropertyName":"IntelligentTieringId"}
},
{
"Filter": {"emitPropertyName": "IntelligentTieringFilter"}
},
{
"IntelligentTieringFilter" :{
"injectXmlMarshallCode": ["IntelligentTieringFilterCustomMarshall(publicRequest, xmlWriter);"]
}
}
]
}
},
"operationModifiers": {
Expand Down Expand Up @@ -1381,6 +1403,8 @@
"MetricsFilter",
"MetricsAndOperator",
"AnalyticsFilter",
"AnalyticsAndOperator"
"AnalyticsAndOperator",
"IntelligentTieringFilter",
"IntelligentTieringAndOperator"
]
}

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -28,134 +28,42 @@ namespace Amazon.S3.Model.Internal.MarshallTransformations
/// <summary>
/// Put Bucket IntelligentTieringConfigurationRequest Marshaller
/// </summary>
public class PutBucketIntelligentTieringConfigurationRequestMarshaller : IMarshaller<IRequest, PutBucketIntelligentTieringConfigurationRequest>, IMarshaller<IRequest, Amazon.Runtime.AmazonWebServiceRequest>
public partial class PutBucketIntelligentTieringConfigurationRequestMarshaller : IMarshaller<IRequest, PutBucketIntelligentTieringConfigurationRequest>, IMarshaller<IRequest, Amazon.Runtime.AmazonWebServiceRequest>
{
/// <summary>
/// Marshall the public request to the internal IRequest structure.
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
public IRequest Marshall(Amazon.Runtime.AmazonWebServiceRequest input)
void IntelligentTieringFilterCustomMarshall(PutBucketIntelligentTieringConfigurationRequest publicRequest, XmlWriter xmlWriter)
{
return this.Marshall((PutBucketIntelligentTieringConfigurationRequest)input);
}
if (publicRequest.IntelligentTieringConfiguration.IsSetIntelligentTieringFilter())
{
xmlWriter.WriteStartElement("Filter");
var filterPredicate = publicRequest.IntelligentTieringConfiguration.IntelligentTieringFilter.IntelligentTieringFilterPredicate;
filterPredicate.Accept(new IntelligentTieringPredicateVisitor(xmlWriter));

/// <summary>
/// Marshall the public request to the internal IRequest structure.
/// </summary>
/// <param name="PutBucketIntelligentTieringConfigurationRequest"></param>
/// <returns></returns>
public IRequest Marshall(PutBucketIntelligentTieringConfigurationRequest PutBucketIntelligentTieringConfigurationRequest)
{
IRequest request = new DefaultRequest(PutBucketIntelligentTieringConfigurationRequest, "Amazon.S3");
var intelligentTieringConfiguration = PutBucketIntelligentTieringConfigurationRequest.IntelligentTieringConfiguration;
request.HttpMethod = "PUT";

if (string.IsNullOrEmpty(PutBucketIntelligentTieringConfigurationRequest.BucketName))
throw new System.ArgumentException("BucketName is a required property and must be set before making this call.", "PutBucketIntelligentTieringConfigurationRequest.BucketName");

if (intelligentTieringConfiguration == null)
throw new System.ArgumentException("IntelligentTieringConfiguration is a required property and must be set before making this call.", "PutBucketIntelligentTieringConfigurationRequest.IntelligentTieringConfiguration");

if (string.IsNullOrEmpty(intelligentTieringConfiguration.IntelligentTieringId))
throw new System.ArgumentException("IntelligentTieringId is a required property and must be set before making this call.", "IntelligentTieringConfiguration.IntelligentTieringId");

if (string.IsNullOrEmpty(PutBucketIntelligentTieringConfigurationRequest.IntelligentTieringId))
throw new System.ArgumentException("IntelligentTieringId is a required property and must be set before making this call.", "PutBucketIntelligentTieringConfigurationRequest.IntelligentTieringId");

if (!intelligentTieringConfiguration.IsSetStatus())
throw new System.ArgumentException("Status is a required property and must be set before making this call.", "IntelligentTieringConfiguration.Status");

if (!intelligentTieringConfiguration.IsSetTieringList())
throw new System.ArgumentException("TieringList is a required property and must be set before making this call.", "IntelligentTieringConfiguration.TieringList");

if (PutBucketIntelligentTieringConfigurationRequest.IsSetExpectedBucketOwner())
request.Headers.Add(S3Constants.AmzHeaderExpectedBucketOwner, S3Transforms.ToStringValue(PutBucketIntelligentTieringConfigurationRequest.ExpectedBucketOwner));

request.ResourcePath = "/";

request.AddSubResource("intelligent-tiering");

request.AddSubResource("id", PutBucketIntelligentTieringConfigurationRequest.IntelligentTieringId);

var stringWriter = new XMLEncodedStringWriter(System.Globalization.CultureInfo.InvariantCulture);
using (var xmlWriter = XmlWriter.Create(stringWriter, new XmlWriterSettings() { Encoding = Encoding.UTF8, OmitXmlDeclaration = true, NewLineHandling = NewLineHandling.Entitize}))
{

if (intelligentTieringConfiguration != null)
{
xmlWriter.WriteStartElement("IntelligentTieringConfiguration", S3Constants.S3RequestXmlNamespace);
if (intelligentTieringConfiguration != null)
{
if (intelligentTieringConfiguration.IsSetIntelligentTieringId())
{
xmlWriter.WriteElementString("Id", S3Transforms.ToXmlStringValue(intelligentTieringConfiguration.IntelligentTieringId));
}

if (intelligentTieringConfiguration.IsSetIntelligentTieringFilter())
{
xmlWriter.WriteStartElement("Filter");
var filterPredicate = intelligentTieringConfiguration.IntelligentTieringFilter.IntelligentTieringFilterPredicate;
filterPredicate.Accept(new IntelligentTieringPredicateVisitor(xmlWriter));

xmlWriter.WriteEndElement();
}

if (intelligentTieringConfiguration.IsSetStatus())
{
xmlWriter.WriteElementString("Status", S3Transforms.ToXmlStringValue(intelligentTieringConfiguration.Status));
}
xmlWriter.WriteEndElement();
}
}

if (intelligentTieringConfiguration.IsSetTieringList())
{
foreach (var tiering in intelligentTieringConfiguration.Tierings)
{
if (tiering != null)
{
xmlWriter.WriteStartElement("Tiering");
xmlWriter.WriteElementString("Days", S3Transforms.ToXmlStringValue(tiering.Days.Value));
xmlWriter.WriteElementString("AccessTier", S3Transforms.ToXmlStringValue(tiering.AccessTier));
xmlWriter.WriteEndElement();
}
}
}
}
xmlWriter.WriteEndElement();
}
}
partial void PostMarshallCustomization(DefaultRequest defaultRequest, PutBucketIntelligentTieringConfigurationRequest publicRequest)
{
ChecksumUtils.SetChecksumData(defaultRequest);
}

try
{
var content = stringWriter.ToString();
request.Content = Encoding.UTF8.GetBytes(content);
request.Headers[HeaderKeys.ContentTypeHeader] = "application/xml";
partial void PreMarshallCustomization(DefaultRequest defaultRequest, PutBucketIntelligentTieringConfigurationRequest publicRequest)
{
var intelligentTieringConfiguration = publicRequest.IntelligentTieringConfiguration;
if (intelligentTieringConfiguration == null)
throw new System.ArgumentException("IntelligentTieringConfiguration is a required property and must be set before making this call.", "PutBucketIntelligentTieringConfigurationRequest.IntelligentTieringConfiguration");

ChecksumUtils.SetChecksumData(request);
}
catch (EncoderFallbackException e)
{
throw new AmazonServiceException("Unable to marshall request to XML", e);
}
if (string.IsNullOrEmpty(intelligentTieringConfiguration.IntelligentTieringId))
throw new System.ArgumentException("IntelligentTieringId is a required property and must be set before making this call.", "IntelligentTieringConfiguration.IntelligentTieringId");

return request;
if (string.IsNullOrEmpty(publicRequest.IntelligentTieringConfiguration.IntelligentTieringId))
throw new System.ArgumentException("IntelligentTieringId is a required property and must be set before making this call.", "PutBucketIntelligentTieringConfigurationRequest.IntelligentTieringId");

}
if (!intelligentTieringConfiguration.IsSetStatus())
throw new System.ArgumentException("Status is a required property and must be set before making this call.", "IntelligentTieringConfiguration.Status");

private static PutBucketIntelligentTieringConfigurationRequestMarshaller _instance;

/// <summary>
/// Singleton for marshaller
/// </summary>
public static PutBucketIntelligentTieringConfigurationRequestMarshaller Instance
{
get
{
if (_instance == null)
{
_instance = new PutBucketIntelligentTieringConfigurationRequestMarshaller();
}
return _instance;
}
}
}
if (!intelligentTieringConfiguration.IsSetTierings())
throw new System.ArgumentException("Tierings is a required property and must be set before making this call.", "IntelligentTieringConfiguration.TieringList");
}
}
}

This file was deleted.

This file was deleted.

Loading