diff --git a/examples/rgw/boto3/put-bucket-replication.py b/examples/rgw/boto3/put-bucket-replication.py new file mode 100755 index 000000000000..efadd7c1c7bf --- /dev/null +++ b/examples/rgw/boto3/put-bucket-replication.py @@ -0,0 +1,39 @@ +#!/usr/bin/python + +from __future__ import print_function +from botocore.client import Config +from pprint import pprint + +import boto3 +import json + + +# endpoint and keys from vstart +endpoint = 'http://127.0.0.1:8101' +access_key='0555b35654ad1656d804' +secret_key='h7GhxuBLTrlhVUyxSPUKUV8r/2EI4ngqJxD7iBdBYLhwluN30JaT3Q==' + +client = boto3.client('s3', + endpoint_url=endpoint, + aws_access_key_id=access_key, + aws_secret_access_key=secret_key, + config=Config(parameter_validation=False)) + +response = client.put_bucket_replication( + Bucket='sample-bucket', + ReplicationConfiguration={ + 'Role': '', + 'Rules': [ + { + 'ID': 'sample-bucket-rule', + "Status": "Enabled", + "Filter" : { "Prefix": ""}, + "Source": { "Zones": ["zg1-1"] }, + "Destination": {"Zones": ["zg1-1", "zg1-2"], "Bucket": "*"} + } + ] + } +) + +pprint(response) + diff --git a/examples/rgw/boto3/service-2.sdk-extras.json b/examples/rgw/boto3/service-2.sdk-extras.json index d660b6a02424..46fef1abdbbe 100644 --- a/examples/rgw/boto3/service-2.sdk-extras.json +++ b/examples/rgw/boto3/service-2.sdk-extras.json @@ -46,6 +46,40 @@ } } }, + "ReplicationRule":{ + "members":{ + "Source": { + "shape":"S3RepSource", + "documentation":"

A container for information about the replication source.

", + "locationName":"Source" + } + } + }, + "S3RepSource": { + "type": "structure", + "members": { + "Zones": { + "shape":"ZoneList", + "documentation":"

Array of replication source zone names.

", + "locationName":"Zone" + } + } + }, + "Destination": { + "members": { + "Zones": { + "shape":"ZoneList", + "documentation":"

Array of replication destination zone names.

", + "locationName":"Zone" + } + } + }, + "ZoneList": { + "type":"list", + "member":{"shape":"Zone"}, + "flattened":true + }, + "Zone":{"type":"string"}, "AllowUnordered":{"type":"boolean"}, "PutObjectRequest": { "members": {