//Generated by wsdl2apex

public class s3Amazon {
    public class User_x {
        private String[] apex_schema_type_info = new String[]{'http://s3.amazonaws.com/doc/2006-03-01/','true','false'};
        private String[] field_order_type_info = new String[]{};
    }
    public class DeleteObject_element {
        public String Bucket;
        public String Key;
        public String AWSAccessKeyId;
        public DateTime Timestamp;
        public String Signature;
        public String Credential;
        private String[] Bucket_type_info = new String[]{'Bucket','http://s3.amazonaws.com/doc/2006-03-01/',null,'1','1','false'};
        private String[] Key_type_info = new String[]{'Key','http://s3.amazonaws.com/doc/2006-03-01/',null,'1','1','false'};
        private String[] AWSAccessKeyId_type_info = new String[]{'AWSAccessKeyId','http://s3.amazonaws.com/doc/2006-03-01/',null,'0','1','false'};
        private String[] Timestamp_type_info = new String[]{'Timestamp','http://s3.amazonaws.com/doc/2006-03-01/',null,'0','1','false'};
        private String[] Signature_type_info = new String[]{'Signature','http://s3.amazonaws.com/doc/2006-03-01/',null,'0','1','false'};
        private String[] Credential_type_info = new String[]{'Credential','http://s3.amazonaws.com/doc/2006-03-01/',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://s3.amazonaws.com/doc/2006-03-01/','true','false'};
        private String[] field_order_type_info = new String[]{'Bucket','Key','AWSAccessKeyId','Timestamp','Signature','Credential'};
    }
    public class GetObjectExtended_element {
        public String Bucket;
        public String Key;
        public Boolean GetMetadata;
        public Boolean GetData;
        public Boolean InlineData;
        public Long ByteRangeStart;
        public Long ByteRangeEnd;
        public DateTime IfModifiedSince;
        public DateTime IfUnmodifiedSince;
        public String[] IfMatch;
        public String[] IfNoneMatch;
        public Boolean ReturnCompleteObjectOnConditionFailure;
        public String AWSAccessKeyId;
        public DateTime Timestamp;
        public String Signature;
        public String Credential;
        private String[] Bucket_type_info = new String[]{'Bucket','http://s3.amazonaws.com/doc/2006-03-01/',null,'1','1','false'};
        private String[] Key_type_info = new String[]{'Key','http://s3.amazonaws.com/doc/2006-03-01/',null,'1','1','false'};
        private String[] GetMetadata_type_info = new String[]{'GetMetadata','http://s3.amazonaws.com/doc/2006-03-01/',null,'1','1','false'};
        private String[] GetData_type_info = new String[]{'GetData','http://s3.amazonaws.com/doc/2006-03-01/',null,'1','1','false'};
        private String[] InlineData_type_info = new String[]{'InlineData','http://s3.amazonaws.com/doc/2006-03-01/',null,'1','1','false'};
        private String[] ByteRangeStart_type_info = new String[]{'ByteRangeStart','http://s3.amazonaws.com/doc/2006-03-01/',null,'0','1','false'};
        private String[] ByteRangeEnd_type_info = new String[]{'ByteRangeEnd','http://s3.amazonaws.com/doc/2006-03-01/',null,'0','1','false'};
        private String[] IfModifiedSince_type_info = new String[]{'IfModifiedSince','http://s3.amazonaws.com/doc/2006-03-01/',null,'0','1','false'};
        private String[] IfUnmodifiedSince_type_info = new String[]{'IfUnmodifiedSince','http://s3.amazonaws.com/doc/2006-03-01/',null,'0','1','false'};
        private String[] IfMatch_type_info = new String[]{'IfMatch','http://s3.amazonaws.com/doc/2006-03-01/',null,'0','100','false'};
        private String[] IfNoneMatch_type_info = new String[]{'IfNoneMatch','http://s3.amazonaws.com/doc/2006-03-01/',null,'0','100','false'};
        private String[] ReturnCompleteObjectOnConditionFailure_type_info = new String[]{'ReturnCompleteObjectOnConditionFailure','http://s3.amazonaws.com/doc/2006-03-01/',null,'0','1','false'};
        private String[] AWSAccessKeyId_type_info = new String[]{'AWSAccessKeyId','http://s3.amazonaws.com/doc/2006-03-01/',null,'0','1','false'};
        private String[] Timestamp_type_info = new String[]{'Timestamp','http://s3.amazonaws.com/doc/2006-03-01/',null,'0','1','false'};
        private String[] Signature_type_info = new String[]{'Signature','http://s3.amazonaws.com/doc/2006-03-01/',null,'0','1','false'};
        private String[] Credential_type_info = new String[]{'Credential','http://s3.amazonaws.com/doc/2006-03-01/',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://s3.amazonaws.com/doc/2006-03-01/','true','false'};
        private String[] field_order_type_info = new String[]{'Bucket','Key','GetMetadata','GetData','InlineData','ByteRangeStart','ByteRangeEnd','IfModifiedSince','IfUnmodifiedSince','IfMatch','IfNoneMatch','ReturnCompleteObjectOnConditionFailure','AWSAccessKeyId','Timestamp','Signature','Credential'};
    }
    public class Group_x {
        public String URI;
        private String[] URI_type_info = new String[]{'URI','http://s3.amazonaws.com/doc/2006-03-01/',null,'1','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://s3.amazonaws.com/doc/2006-03-01/','true','false'};
        private String[] field_order_type_info = new String[]{'URI'};
    }
    public class PutObjectInline_element {
        public String Bucket;
        public String Key;
        public s3Amazon.MetadataEntry[] Metadata;
        public String Data;
        public Long ContentLength;
        public s3Amazon.AccessControlList AccessControlList;
        public String StorageClass;
        public String AWSAccessKeyId;
        public DateTime Timestamp;
        public String Signature;
        public String Credential;
        private String[] Bucket_type_info = new String[]{'Bucket','http://s3.amazonaws.com/doc/2006-03-01/',null,'1','1','false'};
        private String[] Key_type_info = new String[]{'Key','http://s3.amazonaws.com/doc/2006-03-01/',null,'1','1','false'};
        private String[] Metadata_type_info = new String[]{'Metadata','http://s3.amazonaws.com/doc/2006-03-01/',null,'0','100','false'};
        private String[] Data_type_info = new String[]{'Data','http://s3.amazonaws.com/doc/2006-03-01/',null,'1','1','false'};
        private String[] ContentLength_type_info = new String[]{'ContentLength','http://s3.amazonaws.com/doc/2006-03-01/',null,'1','1','false'};
        private String[] AccessControlList_type_info = new String[]{'AccessControlList','http://s3.amazonaws.com/doc/2006-03-01/',null,'0','1','false'};
        private String[] StorageClass_type_info = new String[]{'StorageClass','http://s3.amazonaws.com/doc/2006-03-01/',null,'0','1','false'};
        private String[] AWSAccessKeyId_type_info = new String[]{'AWSAccessKeyId','http://s3.amazonaws.com/doc/2006-03-01/',null,'0','1','false'};
        private String[] Timestamp_type_info = new String[]{'Timestamp','http://s3.amazonaws.com/doc/2006-03-01/',null,'0','1','false'};
        private String[] Signature_type_info = new String[]{'Signature','http://s3.amazonaws.com/doc/2006-03-01/',null,'0','1','false'};
        private String[] Credential_type_info = new String[]{'Credential','http://s3.amazonaws.com/doc/2006-03-01/',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://s3.amazonaws.com/doc/2006-03-01/','true','false'};
        private String[] field_order_type_info = new String[]{'Bucket','Key','Metadata','Data','ContentLength','AccessControlList','StorageClass','AWSAccessKeyId','Timestamp','Signature','Credential'};
    }
    public class SetBucketAccessControlPolicyResponse_element {
        private String[] apex_schema_type_info = new String[]{'http://s3.amazonaws.com/doc/2006-03-01/','true','false'};
        private String[] field_order_type_info = new String[]{};
    }
    public class CreateBucket_element {
        public String Bucket;
        public s3Amazon.AccessControlList AccessControlList;
        public String AWSAccessKeyId;
        public DateTime Timestamp;
        public String Signature;
        private String[] Bucket_type_info = new String[]{'Bucket','http://s3.amazonaws.com/doc/2006-03-01/',null,'1','1','false'};
        private String[] AccessControlList_type_info = new String[]{'AccessControlList','http://s3.amazonaws.com/doc/2006-03-01/',null,'0','1','false'};
        private String[] AWSAccessKeyId_type_info = new String[]{'AWSAccessKeyId','http://s3.amazonaws.com/doc/2006-03-01/',null,'0','1','false'};
        private String[] Timestamp_type_info = new String[]{'Timestamp','http://s3.amazonaws.com/doc/2006-03-01/',null,'0','1','false'};
        private String[] Signature_type_info = new String[]{'Signature','http://s3.amazonaws.com/doc/2006-03-01/',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://s3.amazonaws.com/doc/2006-03-01/','true','false'};
        private String[] field_order_type_info = new String[]{'Bucket','AccessControlList','AWSAccessKeyId','Timestamp','Signature'};
    }
    public class DeleteBucket_element {
        public String Bucket;
        public String AWSAccessKeyId;
        public DateTime Timestamp;
        public String Signature;
        public String Credential;
        private String[] Bucket_type_info = new String[]{'Bucket','http://s3.amazonaws.com/doc/2006-03-01/',null,'1','1','false'};
        private String[] AWSAccessKeyId_type_info = new String[]{'AWSAccessKeyId','http://s3.amazonaws.com/doc/2006-03-01/',null,'0','1','false'};
        private String[] Timestamp_type_info = new String[]{'Timestamp','http://s3.amazonaws.com/doc/2006-03-01/',null,'0','1','false'};
        private String[] Signature_type_info = new String[]{'Signature','http://s3.amazonaws.com/doc/2006-03-01/',null,'0','1','false'};
        private String[] Credential_type_info = new String[]{'Credential','http://s3.amazonaws.com/doc/2006-03-01/',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://s3.amazonaws.com/doc/2006-03-01/','true','false'};
        private String[] field_order_type_info = new String[]{'Bucket','AWSAccessKeyId','Timestamp','Signature','Credential'};
    }
    public class Result {
        public s3Amazon.Status Status;
        private String[] Status_type_info = new String[]{'Status','http://s3.amazonaws.com/doc/2006-03-01/',null,'1','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://s3.amazonaws.com/doc/2006-03-01/','true','false'};
        private String[] field_order_type_info = new String[]{'Status'};
    }
    public class PutObjectInlineResponse_element {
        public s3Amazon.PutObjectResult PutObjectInlineResponse;
        private String[] PutObjectInlineResponse_type_info = new String[]{'PutObjectInlineResponse','http://s3.amazonaws.com/doc/2006-03-01/',null,'1','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://s3.amazonaws.com/doc/2006-03-01/','true','false'};
        private String[] field_order_type_info = new String[]{'PutObjectInlineResponse'};
    }
    public class CanonicalUser {
        public String ID;
        public String DisplayName;
        private String[] ID_type_info = new String[]{'ID','http://s3.amazonaws.com/doc/2006-03-01/',null,'1','1','false'};
        private String[] DisplayName_type_info = new String[]{'DisplayName','http://s3.amazonaws.com/doc/2006-03-01/',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://s3.amazonaws.com/doc/2006-03-01/','true','false'};
        private String[] field_order_type_info = new String[]{'ID','DisplayName'};
    }
    public class AmazonCustomerByEmail {
        public String EmailAddress;
        private String[] EmailAddress_type_info = new String[]{'EmailAddress','http://s3.amazonaws.com/doc/2006-03-01/',null,'1','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://s3.amazonaws.com/doc/2006-03-01/','true','false'};
        private String[] field_order_type_info = new String[]{'EmailAddress'};
    }
    public class CreateBucketResponse_element {
        public s3Amazon.CreateBucketResult CreateBucketReturn;
        private String[] CreateBucketReturn_type_info = new String[]{'CreateBucketReturn','http://s3.amazonaws.com/doc/2006-03-01/',null,'1','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://s3.amazonaws.com/doc/2006-03-01/','true','false'};
        private String[] field_order_type_info = new String[]{'CreateBucketReturn'};
    }
    public class PutObjectResponse_element {
        public s3Amazon.PutObjectResult PutObjectResponse;
        private String[] PutObjectResponse_type_info = new String[]{'PutObjectResponse','http://s3.amazonaws.com/doc/2006-03-01/',null,'1','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://s3.amazonaws.com/doc/2006-03-01/','true','false'};
        private String[] field_order_type_info = new String[]{'PutObjectResponse'};
    }
    public class ListBucketResponse_element {
        public s3Amazon.ListBucketResult ListBucketResponse;
        private String[] ListBucketResponse_type_info = new String[]{'ListBucketResponse','http://s3.amazonaws.com/doc/2006-03-01/',null,'1','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://s3.amazonaws.com/doc/2006-03-01/','true','false'};
        private String[] field_order_type_info = new String[]{'ListBucketResponse'};
    }
    public class GetObjectExtendedResponse_element {
        public s3Amazon.GetObjectResult GetObjectResponse;
        private String[] GetObjectResponse_type_info = new String[]{'GetObjectResponse','http://s3.amazonaws.com/doc/2006-03-01/',null,'1','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://s3.amazonaws.com/doc/2006-03-01/','true','false'};
        private String[] field_order_type_info = new String[]{'GetObjectResponse'};
    }
    public class DeleteBucketResponse_element {
        public s3Amazon.Status DeleteBucketResponse;
        private String[] DeleteBucketResponse_type_info = new String[]{'DeleteBucketResponse','http://s3.amazonaws.com/doc/2006-03-01/',null,'1','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://s3.amazonaws.com/doc/2006-03-01/','true','false'};
        private String[] field_order_type_info = new String[]{'DeleteBucketResponse'};
    }
    public class GetObjectAccessControlPolicy_element {
        public String Bucket;
        public String Key;
        public String AWSAccessKeyId;
        public DateTime Timestamp;
        public String Signature;
        public String Credential;
        private String[] Bucket_type_info = new String[]{'Bucket','http://s3.amazonaws.com/doc/2006-03-01/',null,'1','1','false'};
        private String[] Key_type_info = new String[]{'Key','http://s3.amazonaws.com/doc/2006-03-01/',null,'1','1','false'};
        private String[] AWSAccessKeyId_type_info = new String[]{'AWSAccessKeyId','http://s3.amazonaws.com/doc/2006-03-01/',null,'0','1','false'};
        private String[] Timestamp_type_info = new String[]{'Timestamp','http://s3.amazonaws.com/doc/2006-03-01/',null,'0','1','false'};
        private String[] Signature_type_info = new String[]{'Signature','http://s3.amazonaws.com/doc/2006-03-01/',null,'0','1','false'};
        private String[] Credential_type_info = new String[]{'Credential','http://s3.amazonaws.com/doc/2006-03-01/',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://s3.amazonaws.com/doc/2006-03-01/','true','false'};
        private String[] field_order_type_info = new String[]{'Bucket','Key','AWSAccessKeyId','Timestamp','Signature','Credential'};
    }
    public class AccessControlPolicy {
        public s3Amazon.CanonicalUser Owner;
        public s3Amazon.AccessControlList AccessControlList;
        private String[] Owner_type_info = new String[]{'Owner','http://s3.amazonaws.com/doc/2006-03-01/',null,'1','1','false'};
        private String[] AccessControlList_type_info = new String[]{'AccessControlList','http://s3.amazonaws.com/doc/2006-03-01/',null,'1','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://s3.amazonaws.com/doc/2006-03-01/','true','false'};
        private String[] field_order_type_info = new String[]{'Owner','AccessControlList'};
    }
    public class PrefixEntry {
        public String Prefix;
        private String[] Prefix_type_info = new String[]{'Prefix','http://s3.amazonaws.com/doc/2006-03-01/',null,'1','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://s3.amazonaws.com/doc/2006-03-01/','true','false'};
        private String[] field_order_type_info = new String[]{'Prefix'};
    }
    public class AccessControlList {
        public s3Amazon.Grant[] Grant;
        private String[] Grant_type_info = new String[]{'Grant','http://s3.amazonaws.com/doc/2006-03-01/',null,'0','100','false'};
        private String[] apex_schema_type_info = new String[]{'http://s3.amazonaws.com/doc/2006-03-01/','true','false'};
        private String[] field_order_type_info = new String[]{'Grant'};
    }
    public class GetBucketAccessControlPolicy_element {
        public String Bucket;
        public String AWSAccessKeyId;
        public DateTime Timestamp;
        public String Signature;
        public String Credential;
        private String[] Bucket_type_info = new String[]{'Bucket','http://s3.amazonaws.com/doc/2006-03-01/',null,'1','1','false'};
        private String[] AWSAccessKeyId_type_info = new String[]{'AWSAccessKeyId','http://s3.amazonaws.com/doc/2006-03-01/',null,'0','1','false'};
        private String[] Timestamp_type_info = new String[]{'Timestamp','http://s3.amazonaws.com/doc/2006-03-01/',null,'0','1','false'};
        private String[] Signature_type_info = new String[]{'Signature','http://s3.amazonaws.com/doc/2006-03-01/',null,'0','1','false'};
        private String[] Credential_type_info = new String[]{'Credential','http://s3.amazonaws.com/doc/2006-03-01/',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://s3.amazonaws.com/doc/2006-03-01/','true','false'};
        private String[] field_order_type_info = new String[]{'Bucket','AWSAccessKeyId','Timestamp','Signature','Credential'};
    }
    public class SetObjectAccessControlPolicyResponse_element {
        private String[] apex_schema_type_info = new String[]{'http://s3.amazonaws.com/doc/2006-03-01/','true','false'};
        private String[] field_order_type_info = new String[]{};
    }
    public class PutObjectResult {
        public String ETag;
        public DateTime LastModified;
        private String[] ETag_type_info = new String[]{'ETag','http://s3.amazonaws.com/doc/2006-03-01/',null,'1','1','false'};
        private String[] LastModified_type_info = new String[]{'LastModified','http://s3.amazonaws.com/doc/2006-03-01/',null,'1','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://s3.amazonaws.com/doc/2006-03-01/','true','false'};
        private String[] field_order_type_info = new String[]{'ETag','LastModified'};
    }
    public class ListAllMyBucketsResponse_element {
        public s3Amazon.ListAllMyBucketsResult ListAllMyBucketsResponse;
        private String[] ListAllMyBucketsResponse_type_info = new String[]{'ListAllMyBucketsResponse','http://s3.amazonaws.com/doc/2006-03-01/',null,'1','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://s3.amazonaws.com/doc/2006-03-01/','true','false'};
        private String[] field_order_type_info = new String[]{'ListAllMyBucketsResponse'};
    }
    public class SetObjectAccessControlPolicy_element {
        public String Bucket;
        public String Key;
        public s3Amazon.AccessControlList AccessControlList;
        public String AWSAccessKeyId;
        public DateTime Timestamp;
        public String Signature;
        public String Credential;
        private String[] Bucket_type_info = new String[]{'Bucket','http://s3.amazonaws.com/doc/2006-03-01/',null,'1','1','false'};
        private String[] Key_type_info = new String[]{'Key','http://s3.amazonaws.com/doc/2006-03-01/',null,'1','1','false'};
        private String[] AccessControlList_type_info = new String[]{'AccessControlList','http://s3.amazonaws.com/doc/2006-03-01/',null,'1','1','false'};
        private String[] AWSAccessKeyId_type_info = new String[]{'AWSAccessKeyId','http://s3.amazonaws.com/doc/2006-03-01/',null,'0','1','false'};
        private String[] Timestamp_type_info = new String[]{'Timestamp','http://s3.amazonaws.com/doc/2006-03-01/',null,'0','1','false'};
        private String[] Signature_type_info = new String[]{'Signature','http://s3.amazonaws.com/doc/2006-03-01/',null,'0','1','false'};
        private String[] Credential_type_info = new String[]{'Credential','http://s3.amazonaws.com/doc/2006-03-01/',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://s3.amazonaws.com/doc/2006-03-01/','true','false'};
        private String[] field_order_type_info = new String[]{'Bucket','Key','AccessControlList','AWSAccessKeyId','Timestamp','Signature','Credential'};
    }
    public class MetadataEntry {
        public String Name;
        public String Value;
        private String[] Name_type_info = new String[]{'Name','http://s3.amazonaws.com/doc/2006-03-01/',null,'1','1','false'};
        private String[] Value_type_info = new String[]{'Value','http://s3.amazonaws.com/doc/2006-03-01/',null,'1','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://s3.amazonaws.com/doc/2006-03-01/','true','false'};
        private String[] field_order_type_info = new String[]{'Name','Value'};
    }
    public class SetBucketLoggingStatusResponse_element {
        private String[] apex_schema_type_info = new String[]{'http://s3.amazonaws.com/doc/2006-03-01/','true','false'};
        private String[] field_order_type_info = new String[]{};
    }
    public class SetBucketLoggingStatus_element {
        public String Bucket;
        public String AWSAccessKeyId;
        public DateTime Timestamp;
        public String Signature;
        public String Credential;
        public s3Amazon.BucketLoggingStatus BucketLoggingStatus;
        private String[] Bucket_type_info = new String[]{'Bucket','http://s3.amazonaws.com/doc/2006-03-01/',null,'1','1','false'};
        private String[] AWSAccessKeyId_type_info = new String[]{'AWSAccessKeyId','http://s3.amazonaws.com/doc/2006-03-01/',null,'0','1','false'};
        private String[] Timestamp_type_info = new String[]{'Timestamp','http://s3.amazonaws.com/doc/2006-03-01/',null,'0','1','false'};
        private String[] Signature_type_info = new String[]{'Signature','http://s3.amazonaws.com/doc/2006-03-01/',null,'0','1','false'};
        private String[] Credential_type_info = new String[]{'Credential','http://s3.amazonaws.com/doc/2006-03-01/',null,'0','1','false'};
        private String[] BucketLoggingStatus_type_info = new String[]{'BucketLoggingStatus','http://s3.amazonaws.com/doc/2006-03-01/',null,'1','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://s3.amazonaws.com/doc/2006-03-01/','true','false'};
        private String[] field_order_type_info = new String[]{'Bucket','AWSAccessKeyId','Timestamp','Signature','Credential','BucketLoggingStatus'};
    }
    public class GetObjectAccessControlPolicyResponse_element {
        public s3Amazon.AccessControlPolicy GetObjectAccessControlPolicyResponse;
        private String[] GetObjectAccessControlPolicyResponse_type_info = new String[]{'GetObjectAccessControlPolicyResponse','http://s3.amazonaws.com/doc/2006-03-01/',null,'1','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://s3.amazonaws.com/doc/2006-03-01/','true','false'};
        private String[] field_order_type_info = new String[]{'GetObjectAccessControlPolicyResponse'};
    }
    public class DeleteObjectResponse_element {
        public s3Amazon.Status DeleteObjectResponse;
        private String[] DeleteObjectResponse_type_info = new String[]{'DeleteObjectResponse','http://s3.amazonaws.com/doc/2006-03-01/',null,'1','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://s3.amazonaws.com/doc/2006-03-01/','true','false'};
        private String[] field_order_type_info = new String[]{'DeleteObjectResponse'};
    }
    public class Grant {
        public s3Amazon.Grantee Grantee;
        public String Permission;
        private String[] Grantee_type_info = new String[]{'Grantee','http://s3.amazonaws.com/doc/2006-03-01/',null,'1','1','false'};
        private String[] Permission_type_info = new String[]{'Permission','http://s3.amazonaws.com/doc/2006-03-01/',null,'1','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://s3.amazonaws.com/doc/2006-03-01/','true','false'};
        private String[] field_order_type_info = new String[]{'Grantee','Permission'};
    }
    public class GetObjectResult {
        public s3Amazon.MetadataEntry[] Metadata;
        public String Data;
        public DateTime LastModified;
        public String ETag;
        private String[] Metadata_type_info = new String[]{'Metadata','http://s3.amazonaws.com/doc/2006-03-01/',null,'0','-1','false'};
        private String[] Data_type_info = new String[]{'Data','http://s3.amazonaws.com/doc/2006-03-01/',null,'1','1','true'};
        private String[] LastModified_type_info = new String[]{'LastModified','http://s3.amazonaws.com/doc/2006-03-01/',null,'1','1','false'};
        private String[] ETag_type_info = new String[]{'ETag','http://s3.amazonaws.com/doc/2006-03-01/',null,'1','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://s3.amazonaws.com/doc/2006-03-01/','true','false'};
        private String[] field_order_type_info = new String[]{'Metadata','Data','LastModified','ETag'};
    }
    public class PutObject_element {
        public String Bucket;
        public String Key;
        public s3Amazon.MetadataEntry[] Metadata;
        public Long ContentLength;
        public s3Amazon.AccessControlList AccessControlList;
        public String StorageClass;
        public String AWSAccessKeyId;
        public DateTime Timestamp;
        public String Signature;
        public String Credential;
        private String[] Bucket_type_info = new String[]{'Bucket','http://s3.amazonaws.com/doc/2006-03-01/',null,'1','1','false'};
        private String[] Key_type_info = new String[]{'Key','http://s3.amazonaws.com/doc/2006-03-01/',null,'1','1','false'};
        private String[] Metadata_type_info = new String[]{'Metadata','http://s3.amazonaws.com/doc/2006-03-01/',null,'0','100','false'};
        private String[] ContentLength_type_info = new String[]{'ContentLength','http://s3.amazonaws.com/doc/2006-03-01/',null,'1','1','false'};
        private String[] AccessControlList_type_info = new String[]{'AccessControlList','http://s3.amazonaws.com/doc/2006-03-01/',null,'0','1','false'};
        private String[] StorageClass_type_info = new String[]{'StorageClass','http://s3.amazonaws.com/doc/2006-03-01/',null,'0','1','false'};
        private String[] AWSAccessKeyId_type_info = new String[]{'AWSAccessKeyId','http://s3.amazonaws.com/doc/2006-03-01/',null,'0','1','false'};
        private String[] Timestamp_type_info = new String[]{'Timestamp','http://s3.amazonaws.com/doc/2006-03-01/',null,'0','1','false'};
        private String[] Signature_type_info = new String[]{'Signature','http://s3.amazonaws.com/doc/2006-03-01/',null,'0','1','false'};
        private String[] Credential_type_info = new String[]{'Credential','http://s3.amazonaws.com/doc/2006-03-01/',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://s3.amazonaws.com/doc/2006-03-01/','true','false'};
        private String[] field_order_type_info = new String[]{'Bucket','Key','Metadata','ContentLength','AccessControlList','StorageClass','AWSAccessKeyId','Timestamp','Signature','Credential'};
    }
    public class ListAllMyBuckets_element {
        public String AWSAccessKeyId;
        public DateTime Timestamp;
        public String Signature;
        private String[] AWSAccessKeyId_type_info = new String[]{'AWSAccessKeyId','http://s3.amazonaws.com/doc/2006-03-01/',null,'0','1','false'};
        private String[] Timestamp_type_info = new String[]{'Timestamp','http://s3.amazonaws.com/doc/2006-03-01/',null,'0','1','false'};
        private String[] Signature_type_info = new String[]{'Signature','http://s3.amazonaws.com/doc/2006-03-01/',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://s3.amazonaws.com/doc/2006-03-01/','true','false'};
        private String[] field_order_type_info = new String[]{'AWSAccessKeyId','Timestamp','Signature'};
    }
    public class BucketLoggingStatus {
        public s3Amazon.LoggingSettings LoggingEnabled;
        private String[] LoggingEnabled_type_info = new String[]{'LoggingEnabled','http://s3.amazonaws.com/doc/2006-03-01/',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://s3.amazonaws.com/doc/2006-03-01/','true','false'};
        private String[] field_order_type_info = new String[]{'LoggingEnabled'};
    }
    public class GetBucketLoggingStatusResponse_element {
        public s3Amazon.BucketLoggingStatus GetBucketLoggingStatusResponse;
        private String[] GetBucketLoggingStatusResponse_type_info = new String[]{'GetBucketLoggingStatusResponse','http://s3.amazonaws.com/doc/2006-03-01/',null,'1','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://s3.amazonaws.com/doc/2006-03-01/','true','false'};
        private String[] field_order_type_info = new String[]{'GetBucketLoggingStatusResponse'};
    }
    public class ListAllMyBucketsResult {
        public s3Amazon.CanonicalUser Owner;
        public s3Amazon.ListAllMyBucketsList Buckets;
        private String[] Owner_type_info = new String[]{'Owner','http://s3.amazonaws.com/doc/2006-03-01/',null,'1','1','false'};
        private String[] Buckets_type_info = new String[]{'Buckets','http://s3.amazonaws.com/doc/2006-03-01/',null,'1','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://s3.amazonaws.com/doc/2006-03-01/','true','false'};
        private String[] field_order_type_info = new String[]{'Owner','Buckets'};
    }
    public class Grantee {
        private String[] apex_schema_type_info = new String[]{'http://s3.amazonaws.com/doc/2006-03-01/','true','false'};
        private String[] field_order_type_info = new String[]{};
    }
    public class ListEntry {
        public String Key;
        public DateTime LastModified;
        public String ETag;
        public Long Size;
        public s3Amazon.CanonicalUser Owner;
        public String StorageClass;
        private String[] Key_type_info = new String[]{'Key','http://s3.amazonaws.com/doc/2006-03-01/',null,'1','1','false'};
        private String[] LastModified_type_info = new String[]{'LastModified','http://s3.amazonaws.com/doc/2006-03-01/',null,'1','1','false'};
        private String[] ETag_type_info = new String[]{'ETag','http://s3.amazonaws.com/doc/2006-03-01/',null,'1','1','false'};
        private String[] Size_type_info = new String[]{'Size','http://s3.amazonaws.com/doc/2006-03-01/',null,'1','1','false'};
        private String[] Owner_type_info = new String[]{'Owner','http://s3.amazonaws.com/doc/2006-03-01/',null,'0','1','false'};
        private String[] StorageClass_type_info = new String[]{'StorageClass','http://s3.amazonaws.com/doc/2006-03-01/',null,'1','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://s3.amazonaws.com/doc/2006-03-01/','true','false'};
        private String[] field_order_type_info = new String[]{'Key','LastModified','ETag','Size','Owner','StorageClass'};
    }
    public class GetBucketAccessControlPolicyResponse_element {
        public s3Amazon.AccessControlPolicy GetBucketAccessControlPolicyResponse;
        private String[] GetBucketAccessControlPolicyResponse_type_info = new String[]{'GetBucketAccessControlPolicyResponse','http://s3.amazonaws.com/doc/2006-03-01/',null,'1','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://s3.amazonaws.com/doc/2006-03-01/','true','false'};
        private String[] field_order_type_info = new String[]{'GetBucketAccessControlPolicyResponse'};
    }
    public class LoggingSettings {
        public String TargetBucket;
        public String TargetPrefix;
        private String[] TargetBucket_type_info = new String[]{'TargetBucket','http://s3.amazonaws.com/doc/2006-03-01/',null,'1','1','false'};
        private String[] TargetPrefix_type_info = new String[]{'TargetPrefix','http://s3.amazonaws.com/doc/2006-03-01/',null,'1','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://s3.amazonaws.com/doc/2006-03-01/','true','false'};
        private String[] field_order_type_info = new String[]{'TargetBucket','TargetPrefix'};
    }
    public class GetObject_element {
        public String Bucket;
        public String Key;
        public Boolean GetMetadata;
        public Boolean GetData;
        public Boolean InlineData;
        public String AWSAccessKeyId;
        public DateTime Timestamp;
        public String Signature;
        public String Credential;
        private String[] Bucket_type_info = new String[]{'Bucket','http://s3.amazonaws.com/doc/2006-03-01/',null,'1','1','false'};
        private String[] Key_type_info = new String[]{'Key','http://s3.amazonaws.com/doc/2006-03-01/',null,'1','1','false'};
        private String[] GetMetadata_type_info = new String[]{'GetMetadata','http://s3.amazonaws.com/doc/2006-03-01/',null,'1','1','false'};
        private String[] GetData_type_info = new String[]{'GetData','http://s3.amazonaws.com/doc/2006-03-01/',null,'1','1','false'};
        private String[] InlineData_type_info = new String[]{'InlineData','http://s3.amazonaws.com/doc/2006-03-01/',null,'1','1','false'};
        private String[] AWSAccessKeyId_type_info = new String[]{'AWSAccessKeyId','http://s3.amazonaws.com/doc/2006-03-01/',null,'0','1','false'};
        private String[] Timestamp_type_info = new String[]{'Timestamp','http://s3.amazonaws.com/doc/2006-03-01/',null,'0','1','false'};
        private String[] Signature_type_info = new String[]{'Signature','http://s3.amazonaws.com/doc/2006-03-01/',null,'0','1','false'};
        private String[] Credential_type_info = new String[]{'Credential','http://s3.amazonaws.com/doc/2006-03-01/',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://s3.amazonaws.com/doc/2006-03-01/','true','false'};
        private String[] field_order_type_info = new String[]{'Bucket','Key','GetMetadata','GetData','InlineData','AWSAccessKeyId','Timestamp','Signature','Credential'};
    }
    public class GetBucketLoggingStatus_element {
        public String Bucket;
        public String AWSAccessKeyId;
        public DateTime Timestamp;
        public String Signature;
        public String Credential;
        private String[] Bucket_type_info = new String[]{'Bucket','http://s3.amazonaws.com/doc/2006-03-01/',null,'1','1','false'};
        private String[] AWSAccessKeyId_type_info = new String[]{'AWSAccessKeyId','http://s3.amazonaws.com/doc/2006-03-01/',null,'0','1','false'};
        private String[] Timestamp_type_info = new String[]{'Timestamp','http://s3.amazonaws.com/doc/2006-03-01/',null,'0','1','false'};
        private String[] Signature_type_info = new String[]{'Signature','http://s3.amazonaws.com/doc/2006-03-01/',null,'0','1','false'};
        private String[] Credential_type_info = new String[]{'Credential','http://s3.amazonaws.com/doc/2006-03-01/',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://s3.amazonaws.com/doc/2006-03-01/','true','false'};
        private String[] field_order_type_info = new String[]{'Bucket','AWSAccessKeyId','Timestamp','Signature','Credential'};
    }
    public class GetObjectResponse_element {
        public s3Amazon.GetObjectResult GetObjectResponse;
        private String[] GetObjectResponse_type_info = new String[]{'GetObjectResponse','http://s3.amazonaws.com/doc/2006-03-01/',null,'1','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://s3.amazonaws.com/doc/2006-03-01/','true','false'};
        private String[] field_order_type_info = new String[]{'GetObjectResponse'};
    }
    public class Status {
        public Integer Code;
        public String Description;
        private String[] Code_type_info = new String[]{'Code','http://s3.amazonaws.com/doc/2006-03-01/',null,'1','1','false'};
        private String[] Description_type_info = new String[]{'Description','http://s3.amazonaws.com/doc/2006-03-01/',null,'1','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://s3.amazonaws.com/doc/2006-03-01/','true','false'};
        private String[] field_order_type_info = new String[]{'Code','Description'};
    }
    public class SetBucketAccessControlPolicy_element {
        public String Bucket;
        public s3Amazon.AccessControlList AccessControlList;
        public String AWSAccessKeyId;
        public DateTime Timestamp;
        public String Signature;
        public String Credential;
        private String[] Bucket_type_info = new String[]{'Bucket','http://s3.amazonaws.com/doc/2006-03-01/',null,'1','1','false'};
        private String[] AccessControlList_type_info = new String[]{'AccessControlList','http://s3.amazonaws.com/doc/2006-03-01/',null,'0','1','false'};
        private String[] AWSAccessKeyId_type_info = new String[]{'AWSAccessKeyId','http://s3.amazonaws.com/doc/2006-03-01/',null,'0','1','false'};
        private String[] Timestamp_type_info = new String[]{'Timestamp','http://s3.amazonaws.com/doc/2006-03-01/',null,'0','1','false'};
        private String[] Signature_type_info = new String[]{'Signature','http://s3.amazonaws.com/doc/2006-03-01/',null,'0','1','false'};
        private String[] Credential_type_info = new String[]{'Credential','http://s3.amazonaws.com/doc/2006-03-01/',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://s3.amazonaws.com/doc/2006-03-01/','true','false'};
        private String[] field_order_type_info = new String[]{'Bucket','AccessControlList','AWSAccessKeyId','Timestamp','Signature','Credential'};
    }
    public class CreateBucketResult {
        public String BucketName;
        private String[] BucketName_type_info = new String[]{'BucketName','http://s3.amazonaws.com/doc/2006-03-01/',null,'1','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://s3.amazonaws.com/doc/2006-03-01/','true','false'};
        private String[] field_order_type_info = new String[]{'BucketName'};
    }
    public class ListBucket_element {
        public String Bucket;
        public String Prefix;
        public String Marker;
        public Integer MaxKeys;
        public String Delimiter;
        public String AWSAccessKeyId;
        public DateTime Timestamp;
        public String Signature;
        public String Credential;
        private String[] Bucket_type_info = new String[]{'Bucket','http://s3.amazonaws.com/doc/2006-03-01/',null,'1','1','false'};
        private String[] Prefix_type_info = new String[]{'Prefix','http://s3.amazonaws.com/doc/2006-03-01/',null,'0','1','false'};
        private String[] Marker_type_info = new String[]{'Marker','http://s3.amazonaws.com/doc/2006-03-01/',null,'0','1','false'};
        private String[] MaxKeys_type_info = new String[]{'MaxKeys','http://s3.amazonaws.com/doc/2006-03-01/',null,'0','1','false'};
        private String[] Delimiter_type_info = new String[]{'Delimiter','http://s3.amazonaws.com/doc/2006-03-01/',null,'0','1','false'};
        private String[] AWSAccessKeyId_type_info = new String[]{'AWSAccessKeyId','http://s3.amazonaws.com/doc/2006-03-01/',null,'0','1','false'};
        private String[] Timestamp_type_info = new String[]{'Timestamp','http://s3.amazonaws.com/doc/2006-03-01/',null,'0','1','false'};
        private String[] Signature_type_info = new String[]{'Signature','http://s3.amazonaws.com/doc/2006-03-01/',null,'0','1','false'};
        private String[] Credential_type_info = new String[]{'Credential','http://s3.amazonaws.com/doc/2006-03-01/',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://s3.amazonaws.com/doc/2006-03-01/','true','false'};
        private String[] field_order_type_info = new String[]{'Bucket','Prefix','Marker','MaxKeys','Delimiter','AWSAccessKeyId','Timestamp','Signature','Credential'};
    }
    public class ListAllMyBucketsList {
        public s3Amazon.ListAllMyBucketsEntry[] Bucket;
        private String[] Bucket_type_info = new String[]{'Bucket','http://s3.amazonaws.com/doc/2006-03-01/',null,'0','-1','false'};
        private String[] apex_schema_type_info = new String[]{'http://s3.amazonaws.com/doc/2006-03-01/','true','false'};
        private String[] field_order_type_info = new String[]{'Bucket'};
    }
    public class ListBucketResult {
        public s3Amazon.MetadataEntry[] Metadata;
        public String Name;
        public String Prefix;
        public String Marker;
        public String NextMarker;
        public Integer MaxKeys;
        public String Delimiter;
        public Boolean IsTruncated;
        public s3Amazon.ListEntry[] Contents;
        public s3Amazon.PrefixEntry[] CommonPrefixes;
        private String[] Metadata_type_info = new String[]{'Metadata','http://s3.amazonaws.com/doc/2006-03-01/',null,'0','-1','false'};
        private String[] Name_type_info = new String[]{'Name','http://s3.amazonaws.com/doc/2006-03-01/',null,'1','1','false'};
        private String[] Prefix_type_info = new String[]{'Prefix','http://s3.amazonaws.com/doc/2006-03-01/',null,'1','1','false'};
        private String[] Marker_type_info = new String[]{'Marker','http://s3.amazonaws.com/doc/2006-03-01/',null,'1','1','false'};
        private String[] NextMarker_type_info = new String[]{'NextMarker','http://s3.amazonaws.com/doc/2006-03-01/',null,'0','1','false'};
        private String[] MaxKeys_type_info = new String[]{'MaxKeys','http://s3.amazonaws.com/doc/2006-03-01/',null,'1','1','false'};
        private String[] Delimiter_type_info = new String[]{'Delimiter','http://s3.amazonaws.com/doc/2006-03-01/',null,'0','1','false'};
        private String[] IsTruncated_type_info = new String[]{'IsTruncated','http://s3.amazonaws.com/doc/2006-03-01/',null,'1','1','false'};
        private String[] Contents_type_info = new String[]{'Contents','http://s3.amazonaws.com/doc/2006-03-01/',null,'0','-1','false'};
        private String[] CommonPrefixes_type_info = new String[]{'CommonPrefixes','http://s3.amazonaws.com/doc/2006-03-01/',null,'0','-1','false'};
        private String[] apex_schema_type_info = new String[]{'http://s3.amazonaws.com/doc/2006-03-01/','true','false'};
        private String[] field_order_type_info = new String[]{'Metadata','Name','Prefix','Marker','NextMarker','MaxKeys','Delimiter','IsTruncated','Contents','CommonPrefixes'};
    }
    public class ListAllMyBucketsEntry {
        public String Name;
        public DateTime CreationDate;
        private String[] Name_type_info = new String[]{'Name','http://s3.amazonaws.com/doc/2006-03-01/',null,'1','1','false'};
        private String[] CreationDate_type_info = new String[]{'CreationDate','http://s3.amazonaws.com/doc/2006-03-01/',null,'1','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://s3.amazonaws.com/doc/2006-03-01/','true','false'};
        private String[] field_order_type_info = new String[]{'Name','CreationDate'};
    }
    public class AmazonS3 {
        public String endpoint_x = 'https://s3.amazonaws.com/soap';
        public Map<String,String> inputHttpHeaders_x;
        public Map<String,String> outputHttpHeaders_x;
        public String clientCertName_x;
        public String clientCert_x;
        public String clientCertPasswd_x;
        public Integer timeout_x;
        private String[] ns_map_type_info = new String[]{'http://s3.amazonaws.com/doc/2006-03-01/', 's3Amazon'};
        public s3Amazon.ListAllMyBucketsResult ListAllMyBuckets(String AWSAccessKeyId,DateTime Timestamp,String Signature) {
            s3Amazon.ListAllMyBuckets_element request_x = new s3Amazon.ListAllMyBuckets_element();
            request_x.AWSAccessKeyId = AWSAccessKeyId;
            request_x.Timestamp = Timestamp;
            request_x.Signature = Signature;
            s3Amazon.ListAllMyBucketsResponse_element response_x;
            Map<String, s3Amazon.ListAllMyBucketsResponse_element> response_map_x = new Map<String, s3Amazon.ListAllMyBucketsResponse_element>();
            response_map_x.put('response_x', response_x);
            WebServiceCallout.invoke(
              this,
              request_x,
              response_map_x,
              new String[]{endpoint_x,
              '',
              'http://s3.amazonaws.com/doc/2006-03-01/',
              'ListAllMyBuckets',
              'http://s3.amazonaws.com/doc/2006-03-01/',
              'ListAllMyBucketsResponse',
              's3Amazon.ListAllMyBucketsResponse_element'}
            );
            response_x = response_map_x.get('response_x');
            return response_x.ListAllMyBucketsResponse;
        }
        public s3Amazon.GetObjectResult GetObjectExtended(String Bucket,String Key,Boolean GetMetadata,Boolean GetData,Boolean InlineData,Long ByteRangeStart,Long ByteRangeEnd,DateTime IfModifiedSince,DateTime IfUnmodifiedSince,String[] IfMatch,String[] IfNoneMatch,Boolean ReturnCompleteObjectOnConditionFailure,String AWSAccessKeyId,DateTime Timestamp,String Signature,String Credential) {
            s3Amazon.GetObjectExtended_element request_x = new s3Amazon.GetObjectExtended_element();
            request_x.Bucket = Bucket;
            request_x.Key = Key;
            request_x.GetMetadata = GetMetadata;
            request_x.GetData = GetData;
            request_x.InlineData = InlineData;
            request_x.ByteRangeStart = ByteRangeStart;
            request_x.ByteRangeEnd = ByteRangeEnd;
            request_x.IfModifiedSince = IfModifiedSince;
            request_x.IfUnmodifiedSince = IfUnmodifiedSince;
            request_x.IfMatch = IfMatch;
            request_x.IfNoneMatch = IfNoneMatch;
            request_x.ReturnCompleteObjectOnConditionFailure = ReturnCompleteObjectOnConditionFailure;
            request_x.AWSAccessKeyId = AWSAccessKeyId;
            request_x.Timestamp = Timestamp;
            request_x.Signature = Signature;
            request_x.Credential = Credential;
            s3Amazon.GetObjectExtendedResponse_element response_x;
            Map<String, s3Amazon.GetObjectExtendedResponse_element> response_map_x = new Map<String, s3Amazon.GetObjectExtendedResponse_element>();
            response_map_x.put('response_x', response_x);
            WebServiceCallout.invoke(
              this,
              request_x,
              response_map_x,
              new String[]{endpoint_x,
              '',
              'http://s3.amazonaws.com/doc/2006-03-01/',
              'GetObjectExtended',
              'http://s3.amazonaws.com/doc/2006-03-01/',
              'GetObjectExtendedResponse',
              's3Amazon.GetObjectExtendedResponse_element'}
            );
            response_x = response_map_x.get('response_x');
            return response_x.GetObjectResponse;
        }
        public s3Amazon.AccessControlPolicy GetObjectAccessControlPolicy(String Bucket,String Key,String AWSAccessKeyId,DateTime Timestamp,String Signature,String Credential) {
            s3Amazon.GetObjectAccessControlPolicy_element request_x = new s3Amazon.GetObjectAccessControlPolicy_element();
            request_x.Bucket = Bucket;
            request_x.Key = Key;
            request_x.AWSAccessKeyId = AWSAccessKeyId;
            request_x.Timestamp = Timestamp;
            request_x.Signature = Signature;
            request_x.Credential = Credential;
            s3Amazon.GetObjectAccessControlPolicyResponse_element response_x;
            Map<String, s3Amazon.GetObjectAccessControlPolicyResponse_element> response_map_x = new Map<String, s3Amazon.GetObjectAccessControlPolicyResponse_element>();
            response_map_x.put('response_x', response_x);
            WebServiceCallout.invoke(
              this,
              request_x,
              response_map_x,
              new String[]{endpoint_x,
              '',
              'http://s3.amazonaws.com/doc/2006-03-01/',
              'GetObjectAccessControlPolicy',
              'http://s3.amazonaws.com/doc/2006-03-01/',
              'GetObjectAccessControlPolicyResponse',
              's3Amazon.GetObjectAccessControlPolicyResponse_element'}
            );
            response_x = response_map_x.get('response_x');
            return response_x.GetObjectAccessControlPolicyResponse;
        }
        public void SetBucketAccessControlPolicy(String Bucket,s3Amazon.AccessControlList AccessControlList,String AWSAccessKeyId,DateTime Timestamp,String Signature,String Credential) {
            s3Amazon.SetBucketAccessControlPolicy_element request_x = new s3Amazon.SetBucketAccessControlPolicy_element();
            request_x.Bucket = Bucket;
            request_x.AccessControlList = AccessControlList;
            request_x.AWSAccessKeyId = AWSAccessKeyId;
            request_x.Timestamp = Timestamp;
            request_x.Signature = Signature;
            request_x.Credential = Credential;
            s3Amazon.SetBucketAccessControlPolicyResponse_element response_x;
            Map<String, s3Amazon.SetBucketAccessControlPolicyResponse_element> response_map_x = new Map<String, s3Amazon.SetBucketAccessControlPolicyResponse_element>();
            response_map_x.put('response_x', response_x);
            WebServiceCallout.invoke(
              this,
              request_x,
              response_map_x,
              new String[]{endpoint_x,
              '',
              'http://s3.amazonaws.com/doc/2006-03-01/',
              'SetBucketAccessControlPolicy',
              'http://s3.amazonaws.com/doc/2006-03-01/',
              'SetBucketAccessControlPolicyResponse',
              's3Amazon.SetBucketAccessControlPolicyResponse_element'}
            );
            response_x = response_map_x.get('response_x');
        }
        public s3Amazon.PutObjectResult PutObject(String Bucket,String Key,s3Amazon.MetadataEntry[] Metadata,Long ContentLength,s3Amazon.AccessControlList AccessControlList,String StorageClass,String AWSAccessKeyId,DateTime Timestamp,String Signature,String Credential) {
            s3Amazon.PutObject_element request_x = new s3Amazon.PutObject_element();
            request_x.Bucket = Bucket;
            request_x.Key = Key;
            request_x.Metadata = Metadata;
            request_x.ContentLength = ContentLength;
            request_x.AccessControlList = AccessControlList;
            request_x.StorageClass = StorageClass;
            request_x.AWSAccessKeyId = AWSAccessKeyId;
            request_x.Timestamp = Timestamp;
            request_x.Signature = Signature;
            request_x.Credential = Credential;
            s3Amazon.PutObjectResponse_element response_x;
            Map<String, s3Amazon.PutObjectResponse_element> response_map_x = new Map<String, s3Amazon.PutObjectResponse_element>();
            response_map_x.put('response_x', response_x);
            WebServiceCallout.invoke(
              this,
              request_x,
              response_map_x,
              new String[]{endpoint_x,
              '',
              'http://s3.amazonaws.com/doc/2006-03-01/',
              'PutObject',
              'http://s3.amazonaws.com/doc/2006-03-01/',
              'PutObjectResponse',
              's3Amazon.PutObjectResponse_element'}
            );
            response_x = response_map_x.get('response_x');
            return response_x.PutObjectResponse;
        }
        public s3Amazon.GetObjectResult GetObject(String Bucket,String Key,Boolean GetMetadata,Boolean GetData,Boolean InlineData,String AWSAccessKeyId,DateTime Timestamp,String Signature,String Credential) {
            s3Amazon.GetObject_element request_x = new s3Amazon.GetObject_element();
            request_x.Bucket = Bucket;
            request_x.Key = Key;
            request_x.GetMetadata = GetMetadata;
            request_x.GetData = GetData;
            request_x.InlineData = InlineData;
            request_x.AWSAccessKeyId = AWSAccessKeyId;
            request_x.Timestamp = Timestamp;
            request_x.Signature = Signature;
            request_x.Credential = Credential;
            s3Amazon.GetObjectResponse_element response_x;
            Map<String, s3Amazon.GetObjectResponse_element> response_map_x = new Map<String, s3Amazon.GetObjectResponse_element>();
            response_map_x.put('response_x', response_x);
            WebServiceCallout.invoke(
              this,
              request_x,
              response_map_x,
              new String[]{endpoint_x,
              '',
              'http://s3.amazonaws.com/doc/2006-03-01/',
              'GetObject',
              'http://s3.amazonaws.com/doc/2006-03-01/',
              'GetObjectResponse',
              's3Amazon.GetObjectResponse_element'}
            );
            response_x = response_map_x.get('response_x');
            return response_x.GetObjectResponse;
        }
        public s3Amazon.CreateBucketResult CreateBucket(String Bucket,s3Amazon.AccessControlList AccessControlList,String AWSAccessKeyId,DateTime Timestamp,String Signature) {
            s3Amazon.CreateBucket_element request_x = new s3Amazon.CreateBucket_element();
            request_x.Bucket = Bucket;
            request_x.AccessControlList = AccessControlList;
            request_x.AWSAccessKeyId = AWSAccessKeyId;
            request_x.Timestamp = Timestamp;
            request_x.Signature = Signature;
            s3Amazon.CreateBucketResponse_element response_x;
            Map<String, s3Amazon.CreateBucketResponse_element> response_map_x = new Map<String, s3Amazon.CreateBucketResponse_element>();
            response_map_x.put('response_x', response_x);
            WebServiceCallout.invoke(
              this,
              request_x,
              response_map_x,
              new String[]{endpoint_x,
              '',
              'http://s3.amazonaws.com/doc/2006-03-01/',
              'CreateBucket',
              'http://s3.amazonaws.com/doc/2006-03-01/',
              'CreateBucketResponse',
              's3Amazon.CreateBucketResponse_element'}
            );
            response_x = response_map_x.get('response_x');
            return response_x.CreateBucketReturn;
        }
        public s3Amazon.BucketLoggingStatus GetBucketLoggingStatus(String Bucket,String AWSAccessKeyId,DateTime Timestamp,String Signature,String Credential) {
            s3Amazon.GetBucketLoggingStatus_element request_x = new s3Amazon.GetBucketLoggingStatus_element();
            request_x.Bucket = Bucket;
            request_x.AWSAccessKeyId = AWSAccessKeyId;
            request_x.Timestamp = Timestamp;
            request_x.Signature = Signature;
            request_x.Credential = Credential;
            s3Amazon.GetBucketLoggingStatusResponse_element response_x;
            Map<String, s3Amazon.GetBucketLoggingStatusResponse_element> response_map_x = new Map<String, s3Amazon.GetBucketLoggingStatusResponse_element>();
            response_map_x.put('response_x', response_x);
            WebServiceCallout.invoke(
              this,
              request_x,
              response_map_x,
              new String[]{endpoint_x,
              '',
              'http://s3.amazonaws.com/doc/2006-03-01/',
              'GetBucketLoggingStatus',
              'http://s3.amazonaws.com/doc/2006-03-01/',
              'GetBucketLoggingStatusResponse',
              's3Amazon.GetBucketLoggingStatusResponse_element'}
            );
            response_x = response_map_x.get('response_x');
            return response_x.GetBucketLoggingStatusResponse;
        }
        public s3Amazon.AccessControlPolicy GetBucketAccessControlPolicy(String Bucket,String AWSAccessKeyId,DateTime Timestamp,String Signature,String Credential) {
            s3Amazon.GetBucketAccessControlPolicy_element request_x = new s3Amazon.GetBucketAccessControlPolicy_element();
            request_x.Bucket = Bucket;
            request_x.AWSAccessKeyId = AWSAccessKeyId;
            request_x.Timestamp = Timestamp;
            request_x.Signature = Signature;
            request_x.Credential = Credential;
            s3Amazon.GetBucketAccessControlPolicyResponse_element response_x;
            Map<String, s3Amazon.GetBucketAccessControlPolicyResponse_element> response_map_x = new Map<String, s3Amazon.GetBucketAccessControlPolicyResponse_element>();
            response_map_x.put('response_x', response_x);
            WebServiceCallout.invoke(
              this,
              request_x,
              response_map_x,
              new String[]{endpoint_x,
              '',
              'http://s3.amazonaws.com/doc/2006-03-01/',
              'GetBucketAccessControlPolicy',
              'http://s3.amazonaws.com/doc/2006-03-01/',
              'GetBucketAccessControlPolicyResponse',
              's3Amazon.GetBucketAccessControlPolicyResponse_element'}
            );
            response_x = response_map_x.get('response_x');
            return response_x.GetBucketAccessControlPolicyResponse;
        }
        public s3Amazon.Status DeleteBucket(String Bucket,String AWSAccessKeyId,DateTime Timestamp,String Signature,String Credential) {
            s3Amazon.DeleteBucket_element request_x = new s3Amazon.DeleteBucket_element();
            request_x.Bucket = Bucket;
            request_x.AWSAccessKeyId = AWSAccessKeyId;
            request_x.Timestamp = Timestamp;
            request_x.Signature = Signature;
            request_x.Credential = Credential;
            s3Amazon.DeleteBucketResponse_element response_x;
            Map<String, s3Amazon.DeleteBucketResponse_element> response_map_x = new Map<String, s3Amazon.DeleteBucketResponse_element>();
            response_map_x.put('response_x', response_x);
            WebServiceCallout.invoke(
              this,
              request_x,
              response_map_x,
              new String[]{endpoint_x,
              '',
              'http://s3.amazonaws.com/doc/2006-03-01/',
              'DeleteBucket',
              'http://s3.amazonaws.com/doc/2006-03-01/',
              'DeleteBucketResponse',
              's3Amazon.DeleteBucketResponse_element'}
            );
            response_x = response_map_x.get('response_x');
            return response_x.DeleteBucketResponse;
        }
        public s3Amazon.Status DeleteObject(String Bucket,String Key,String AWSAccessKeyId,DateTime Timestamp,String Signature,String Credential) {
            s3Amazon.DeleteObject_element request_x = new s3Amazon.DeleteObject_element();
            request_x.Bucket = Bucket;
            request_x.Key = Key;
            request_x.AWSAccessKeyId = AWSAccessKeyId;
            request_x.Timestamp = Timestamp;
            request_x.Signature = Signature;
            request_x.Credential = Credential;
            s3Amazon.DeleteObjectResponse_element response_x;
            Map<String, s3Amazon.DeleteObjectResponse_element> response_map_x = new Map<String, s3Amazon.DeleteObjectResponse_element>();
            response_map_x.put('response_x', response_x);
            WebServiceCallout.invoke(
              this,
              request_x,
              response_map_x,
              new String[]{endpoint_x,
              '',
              'http://s3.amazonaws.com/doc/2006-03-01/',
              'DeleteObject',
              'http://s3.amazonaws.com/doc/2006-03-01/',
              'DeleteObjectResponse',
              's3Amazon.DeleteObjectResponse_element'}
            );
            response_x = response_map_x.get('response_x');
            return response_x.DeleteObjectResponse;
        }
        public s3Amazon.PutObjectResult PutObjectInline(String Bucket,String Key,s3Amazon.MetadataEntry[] Metadata,String Data,Long ContentLength,s3Amazon.AccessControlList AccessControlList,String StorageClass,String AWSAccessKeyId,DateTime Timestamp,String Signature,String Credential) {
            s3Amazon.PutObjectInline_element request_x = new s3Amazon.PutObjectInline_element();
            request_x.Bucket = Bucket;
            request_x.Key = Key;
            request_x.Metadata = Metadata;
            request_x.Data = Data;
            request_x.ContentLength = ContentLength;
            request_x.AccessControlList = AccessControlList;
            request_x.StorageClass = StorageClass;
            request_x.AWSAccessKeyId = AWSAccessKeyId;
            request_x.Timestamp = Timestamp;
            request_x.Signature = Signature;
            request_x.Credential = Credential;
            s3Amazon.PutObjectInlineResponse_element response_x;
            Map<String, s3Amazon.PutObjectInlineResponse_element> response_map_x = new Map<String, s3Amazon.PutObjectInlineResponse_element>();
            response_map_x.put('response_x', response_x);
            WebServiceCallout.invoke(
              this,
              request_x,
              response_map_x,
              new String[]{endpoint_x,
              '',
              'http://s3.amazonaws.com/doc/2006-03-01/',
              'PutObjectInline',
              'http://s3.amazonaws.com/doc/2006-03-01/',
              'PutObjectInlineResponse',
              's3Amazon.PutObjectInlineResponse_element'}
            );
            response_x = response_map_x.get('response_x');
            return response_x.PutObjectInlineResponse;
        }
        public void SetObjectAccessControlPolicy(String Bucket,String Key,s3Amazon.AccessControlList AccessControlList,String AWSAccessKeyId,DateTime Timestamp,String Signature,String Credential) {
            s3Amazon.SetObjectAccessControlPolicy_element request_x = new s3Amazon.SetObjectAccessControlPolicy_element();
            request_x.Bucket = Bucket;
            request_x.Key = Key;
            request_x.AccessControlList = AccessControlList;
            request_x.AWSAccessKeyId = AWSAccessKeyId;
            request_x.Timestamp = Timestamp;
            request_x.Signature = Signature;
            request_x.Credential = Credential;
            s3Amazon.SetObjectAccessControlPolicyResponse_element response_x;
            Map<String, s3Amazon.SetObjectAccessControlPolicyResponse_element> response_map_x = new Map<String, s3Amazon.SetObjectAccessControlPolicyResponse_element>();
            response_map_x.put('response_x', response_x);
            WebServiceCallout.invoke(
              this,
              request_x,
              response_map_x,
              new String[]{endpoint_x,
              '',
              'http://s3.amazonaws.com/doc/2006-03-01/',
              'SetObjectAccessControlPolicy',
              'http://s3.amazonaws.com/doc/2006-03-01/',
              'SetObjectAccessControlPolicyResponse',
              's3Amazon.SetObjectAccessControlPolicyResponse_element'}
            );
            response_x = response_map_x.get('response_x');
        }
        public s3Amazon.ListBucketResult ListBucket(String Bucket,String Prefix,String Marker,Integer MaxKeys,String Delimiter,String AWSAccessKeyId,DateTime Timestamp,String Signature,String Credential) {
            s3Amazon.ListBucket_element request_x = new s3Amazon.ListBucket_element();
            request_x.Bucket = Bucket;
            request_x.Prefix = Prefix;
            request_x.Marker = Marker;
            request_x.MaxKeys = MaxKeys;
            request_x.Delimiter = Delimiter;
            request_x.AWSAccessKeyId = AWSAccessKeyId;
            request_x.Timestamp = Timestamp;
            request_x.Signature = Signature;
            request_x.Credential = Credential;
            s3Amazon.ListBucketResponse_element response_x;
            Map<String, s3Amazon.ListBucketResponse_element> response_map_x = new Map<String, s3Amazon.ListBucketResponse_element>();
            response_map_x.put('response_x', response_x);
            WebServiceCallout.invoke(
              this,
              request_x,
              response_map_x,
              new String[]{endpoint_x,
              '',
              'http://s3.amazonaws.com/doc/2006-03-01/',
              'ListBucket',
              'http://s3.amazonaws.com/doc/2006-03-01/',
              'ListBucketResponse',
              's3Amazon.ListBucketResponse_element'}
            );
            response_x = response_map_x.get('response_x');
            return response_x.ListBucketResponse;
        }
        public void SetBucketLoggingStatus(String Bucket,String AWSAccessKeyId,DateTime Timestamp,String Signature,String Credential,s3Amazon.BucketLoggingStatus BucketLoggingStatus) {
            s3Amazon.SetBucketLoggingStatus_element request_x = new s3Amazon.SetBucketLoggingStatus_element();
            request_x.Bucket = Bucket;
            request_x.AWSAccessKeyId = AWSAccessKeyId;
            request_x.Timestamp = Timestamp;
            request_x.Signature = Signature;
            request_x.Credential = Credential;
            request_x.BucketLoggingStatus = BucketLoggingStatus;
            s3Amazon.SetBucketLoggingStatusResponse_element response_x;
            Map<String, s3Amazon.SetBucketLoggingStatusResponse_element> response_map_x = new Map<String, s3Amazon.SetBucketLoggingStatusResponse_element>();
            response_map_x.put('response_x', response_x);
            WebServiceCallout.invoke(
              this,
              request_x,
              response_map_x,
              new String[]{endpoint_x,
              '',
              'http://s3.amazonaws.com/doc/2006-03-01/',
              'SetBucketLoggingStatus',
              'http://s3.amazonaws.com/doc/2006-03-01/',
              'SetBucketLoggingStatusResponse',
              's3Amazon.SetBucketLoggingStatusResponse_element'}
            );
            response_x = response_map_x.get('response_x');
        }
    }
}