@@ -1349,6 +1349,88 @@ type ReplicationXML struct {
13491349 ID string `xml:"ID,omitempty"`
13501350}
13511351
1352+ // PutBucketReplication define the bucket replication config
1353+ type PutBucketReplication BucketReplicationXml
1354+
1355+ // GetBucketReplicationResult define get bucket's replication config
1356+ type GetBucketReplicationResult BucketReplicationXml
1357+
1358+ // GetBucketReplicationLocationResult define get bucket's replication location
1359+ type GetBucketReplicationLocationResult BucketReplicationLocationXml
1360+
1361+ // GetBucketReplicationProgressResult define get bucket's replication progress
1362+ type GetBucketReplicationProgressResult BucketReplicationProgressXml
1363+
1364+ // PutBucketRTC define the bucket rtc config
1365+ type PutBucketRTC BucketRTCXml
1366+
1367+ // BucketReplicationXml define the xml of bucket replication config
1368+ type BucketReplicationXml struct {
1369+ XMLName xml.Name `xml:"ReplicationConfiguration"`
1370+ Rule []ReplicationRule `xml:"Rule,omitempty"`
1371+ }
1372+
1373+ // BucketReplicationProgressXml define the xml of bucket replication config
1374+ type BucketReplicationProgressXml struct {
1375+ XMLName xml.Name `xml:"ReplicationProgress"`
1376+ Rule []ReplicationRule `xml:"Rule,omitempty"`
1377+ }
1378+
1379+ // BucketRTCXml define the xml of bucket rtc config
1380+ type BucketRTCXml struct {
1381+ XMLName xml.Name `xml:"ReplicationRule"`
1382+ RTC * string `xml:"RTC>Status,omitempty"`
1383+ ID string `xml:"ID,omitempty"`
1384+ }
1385+
1386+ // ReplicationRule define the xml of bucket replication config rule
1387+ type ReplicationRule struct {
1388+ ID string `xml:"ID,omitempty"`
1389+ RTC * string `xml:"RTC>Status,omitempty"`
1390+ PrefixSet * ReplicationRulePrefix `xml:"PrefixSet,omitempty"`
1391+ Action string `xml:"Action,omitempty"`
1392+ Destination * ReplicationRuleDestination `xml:"Destination,omitempty"`
1393+ HistoricalObjectReplication string `xml:"HistoricalObjectReplication,omitempty"`
1394+ Status string `xml:"Status,omitempty"`
1395+ SyncRole string `xml:"SyncRole,omitempty"`
1396+ SourceSelectionCriteria * string `xml:"SourceSelectionCriteria>SseKmsEncryptedObjects>Status,omitempty"`
1397+ EncryptionConfiguration * string `xml:"EncryptionConfiguration>ReplicaKmsKeyID,omitempty"`
1398+ Progress * ReplicationRuleProgress `xml:"Progress,omitempty"`
1399+ HistoricalObject string `xml:"HistoricalObject,omitempty"`
1400+ }
1401+
1402+ type ReplicationRulePrefix struct {
1403+ Prefix []* string `xml:"Prefix,omitempty"`
1404+ }
1405+
1406+ type ReplicationRuleDestination struct {
1407+ Bucket string `xml:"Bucket,omitempty"`
1408+ Location string `xml:"Location,omitempty"`
1409+ TransferType string `xml:"TransferType,omitempty"`
1410+ }
1411+
1412+ // BucketReplicationLocationXml define the xml of bucket replication location info
1413+ type BucketReplicationLocationXml struct {
1414+ XMLName xml.Name `xml:"ReplicationLocation"`
1415+ Location []string `xml:"Location,omitempty"`
1416+ LocationTransferType []ReplicationLocationTransferType `xml:"LocationTransferTypeConstraint>LocationTransferType,omitempty"`
1417+ RTCLocation []string `xml:"LocationRTCConstraint>Location,omitempty"`
1418+ }
1419+
1420+ type ReplicationLocation struct {
1421+ Location string `xml:"Location,omitempty"`
1422+ }
1423+
1424+ type ReplicationLocationTransferType struct {
1425+ Location string `xml:"Location,omitempty"`
1426+ TransferTypes string `xml:"TransferTypes>Type,omitempty"`
1427+ }
1428+
1429+ type ReplicationRuleProgress struct {
1430+ HistoricalObject string `xml:"HistoricalObject,omitempty"`
1431+ NewObject string `xml:"NewObject,omitempty"`
1432+ }
1433+
13521434// CnameConfigurationXML define cname configuration
13531435type CnameConfigurationXML struct {
13541436 XMLName xml.Name `xml:"BucketCnameConfiguration"`
@@ -1489,7 +1571,6 @@ type BucketAccessMonitorXml struct {
14891571 Status string `xml:"Status"` // access monitor status
14901572}
14911573
1492-
14931574// ListBucketCnameResult define the cname list of the bucket
14941575type ListBucketCnameResult BucketCnameXml
14951576
0 commit comments