{
"version": 1.0,
"merge": {
    "operations":{
        "DeleteBucketNotificationConfiguration":{
            "name":"DeleteBucketNotificationConfiguration",
            "http":{
                "method":"DELETE",
                "requestUri":"/{Bucket}?notification",
                "responseCode":204
            },
            "input":{"shape":"DeleteBucketNotificationConfigurationRequest"},
            "documentationUrl":"https://docs.ceph.com/docs/master/radosgw/s3/bucketops/#delete-notification",
            "documentation":"<p>Deletes the notification configuration from the bucket.</p>"
        },
        "GetUsageStats":{
            "name":"GetUsageStats",
            "http":{
                "method":"GET",
                "requestUri":"/?usage",
                "responseCode":200
            },
            "output": {"shape": "GetUsageStatsOutput"},
            "documentationUrl":"https://docs.ceph.com/docs/master/radosgw/s3/serviceops#get-usage-stats",
            "documentation":"<p>Get usage stats for the user</p>"
        },
	"ProcessObject":{
            "name":"ProcessObject",
            "http":{
                "method":"POST",
                "requestUri":"/{Bucket}/{Key+}?x-zos-process",
                "responseCode":200
            },
            "input":{"shape":"ProcessObjectRequest"},
            "output":{"shape":"ProcessObjectOutput"},
            "documentationUrl":"https://help.aliyun.com/document_detail/55811.html?spm=a2c4g.11186623.6.766.47884981n2g5s0",
            "documentation":"<p>Process image object persistent</p>"
        },
        "MdCustomConfig":{
            "name":"MdCustomConfig",
            "http":{
                "method":"POST",
                "requestUri":"/{Bucket}?mdsearch",
                "responseCode":200
            },
            "input":{"shape":"MdCustomConfigInput"},
            "documentation":"<p>Create user-defined metadata index</p>"
        },
        "MdCustomDel":{
            "name":"MdCustomDel",
            "http":{
                "method":"DELETE",
                "requestUri":"/{Bucket}?mdsearch",
                "responseCode":200
            },
            "input":{"shape":"MdCustomDelInput"},
            "documentation":"<p>Delete user-defined metadata index</p>"
        },
        "GetMdCustomConfig":{
            "name":"GetMdCustomConfig",
            "http":{
                "method":"GET",
                "requestUri":"/{Bucket}/?mdsearch",
                "responseCode":200
            },
            "input":{"shape":"GetMdCustomConfigInput"},
            "output":{"shape":"GetMdCustomConfigOutput"},
            "documentation":"<p>Get user-defined metadata index</p>"
        },
        "MdSearch":{
            "name":"MdSearch",
            "http":{
                "method":"GET",
                "requestUri":"/",
                "responseCode":200
            },
            "input":{"shape":"GetMetadataInput"},
            "output":{"shape":"GetMetadataOutput"},
            "documentation":"<p>Metadata search</p>"
        },
        "GetHttpStatus":{
            "name":"GetHttpStatus",
            "http":{
                "method":"GET",
                "requestUri":"/?httpstatus&start-date={startdate}&end-date={enddate}&format=xml",
                "responseCode":200
            },
            "input":{"shape":"GetHttpStatusRequest"},
			"output":{"shape":"GetHttpStatusOutput"},
            "documentation":"<p>Get http status code</p>"
	}
    },
    "shapes": {
        "CreateBucketRequest": {
            "members": {
                "StorageClass": {
                    "shape":"StorageClass",
                    "documentation":"<p>The type of storage to use for the object. Defaults to 'STANDARD'.</p>",
                    "location":"header",
                    "locationName":"x-amz-storage-class"
                }
            }
        },
        "ListObjectsRequest": {
            "members": {
                "AllowUnordered": {
                    "shape":"AllowUnordered",
                    "documentation":"<p>Allow the listing results to be returned in unsorted order. This may be faster when listing very large buckets.</p>",
                    "location":"querystring",
                    "locationName":"allow-unordered"
                }
            }
        },
        "AllowUnordered":{"type":"boolean"},
        "PutObjectRequest": {
            "members": {
                "AppendPosition": {
                    "shape":"AppendPosition",
                    "documentation": "<p>Position to allow appending</p>",
                    "location": "querystring",
                    "locationName": "position"
                },
                "Append": {
                    "shape":"Append",
                    "documentation":"<p>Append Object</p>",
                    "location": "querystring",
                    "locationName": "append"
                }
            }
        },
        "Append": {"type":"boolean"},
        "AppendPosition":{"type":"integer"},
        "PutObjectOutput": {
            "members": {
                "AppendPosition": {
                    "shape":"AppendPosition",
                    "documentation": "<p>Position to allow appending</p>",
                    "location": "header",
                    "locationName": "x-rgw-next-append-position",
                    "documentationUrl":"https://docs.ceph.com/docs/master/radosgw/s3/objectops/#append-object"
                }
            }
        },
	"GetObjectRequest": {
            "members": {
                "ZosProcess": {
                    "shape":"ZosProcess",
                    "documentation":"<p>The parameter is used to process image.</p>",
                    "location":"querystring",
                    "locationName":"x-zos-process"
                }
            }
        },
        "ZosProcess":{"type":"string"},
        "ProcessObjectRequest":{
            "type":"structure",
            "required":[
                "Bucket",
                "ProcessSource",
                "Key",
                "ZosProcess"
            ],
            "members":{
                "Bucket":{
                    "shape":"BucketName",
                    "documentation":"<p>The name of the destination bucket.</p>",
                    "location":"uri",
                    "locationName":"Bucket"
                },
                "ProcessSource":{
                    "shape":"ProcessSource",
                    "documentation":"<p>Specifies the source object for the post operation.</p>",
                    "location":"header",
                    "locationName":"x-zos-process-source"
                },
                "Key":{
                    "shape":"ObjectKey",
                    "documentation":"<p>The key of the destination object.</p>",
                    "location":"uri",
                    "locationName":"Key"
                },
                "ZosProcess":{
                    "shape":"ZosProcess",
                    "documentation":"<p>The parameter is used to process image.</p>",
                    "locationName":"x-zos-process"
                }
            },
            "payload":"ZosProcess"
        },
        "ProcessSource":{
            "type":"string",
            "pattern":"\\/.+\\/.+"
        },
        "ProcessObjectOutput":{
            "type":"structure",
            "members":{
                "Expiration":{
                    "shape":"Expiration",
                    "documentation":"<p> If the expiration is configured for the object (see <a href=\"https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html\">PutBucketLifecycleConfiguration</a>), the response includes this header. It includes the expiry-date and rule-id key-value pairs that provide information about object expiration. The value of the rule-id is URL encoded.</p>",
                    "location":"header",
                    "locationName":"x-amz-expiration"
                },
                "ETag":{
                    "shape":"ETag",
                    "documentation":"<p>Entity tag for the uploaded object.</p>",
                    "location":"header",
                    "locationName":"ETag"
                },
                "VersionId":{
                    "shape":"ObjectVersionId",
                    "documentation":"<p>Version of the object.</p>",
                    "location":"header",
                    "locationName":"x-amz-version-id"
                }
            }
        },
        "GetBucketNotificationConfigurationRequest":{
            "type":"structure",
            "required":["Bucket"],
            "members":{
                "Bucket":{
                    "shape":"BucketName",
                    "documentation":"<p>Name of the bucket to get the notifications configuration for.</p>",
                    "location":"uri",
                    "locationName":"Bucket"
                },
                "Notification":{
                    "shape":"NotificationId",
                    "documentation":"<p>Id of the specific notification on the bucket for which the configuration should be retrieved.</p>",
                    "location":"querystring",
                    "locationName":"notification-id"
                }
            }
        },
        "DeleteBucketNotificationConfigurationRequest":{
            "type":"structure",
            "required":["Bucket"],
            "members":{
                "Bucket":{
                    "shape":"BucketName",
                    "documentation":"<p>Name of the bucket to delete the notifications configuration from.</p>",
                    "location":"uri",
                    "locationName":"Bucket"
                },
                "Notification":{
                    "shape":"NotificationId",
                    "documentation":"<p>Id of the specific notification on the bucket to be deleted.</p>",
                    "location":"querystring",
                    "locationName":"notification-id"
                }
            }
        },
        "FilterRule":{
            "type":"structure",
            "members":{
                "Name":{
                    "shape":"FilterRuleName",
                    "documentation":"<p>The object key name prefix, suffix or regex identifying one or more objects to which the filtering rule applies. The maximum length is 1,024 characters. Overlapping prefixes and suffixes are supported.</p>"
                },
                "Value":{
                    "shape":"FilterRuleValue",
                    "documentation":"<p>The value that the filter searches for in object key names.</p>"
                }
            },
            "documentation":"<p>Specifies the Amazon S3 object key name to filter on and whether to filter on the suffix, prefix or regex of the key name.</p>"
        },
        "FilterRuleName":{
            "type":"string",
            "enum":[
                "prefix",
                "suffix",
                "regex"
            ]
        },
        "NotificationConfigurationFilter":{
            "type":"structure",
            "members":{
                "Key":{
                    "shape":"S3KeyFilter",
                    "documentation":"<p/>",
                    "locationName":"S3Key"
                },
                "Metadata":{
                    "shape":"S3MetadataFilter",
                    "documentation":"<p/>",
                    "locationName":"S3Metadata"
                },
                "Tags":{
                    "shape":"S3TagsFilter",
                    "documentation":"<p/>",
                    "locationName":"S3Tags"
                }

            },
            "documentation":"<p>Specifies object key name filtering rules. For information about key name filtering, see <a href=\"https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html\">Configuring Event Notifications</a> in the <i>Amazon Simple Storage Service Developer Guide</i>.</p>"
        },
        "S3KeyFilter":{
            "type":"structure",
            "members":{
                "FilterRules":{
                    "shape":"FilterRuleList",
                    "documentation":"<p/>",
                    "locationName":"FilterRule"
                }
            },
            "documentation":"<p>A container for object key name prefix, suffix and regex filtering rules.</p>"
        },
        "S3MetadataFilter":{
            "type":"structure",
            "members":{
                "FilterRules":{
                    "shape":"FilterRuleList",
                    "documentation":"<p/>",
                    "locationName":"FilterRule"
                }
            },
            "documentation":"<p>A container for metadata filtering rules.</p>"
        },
        "S3TagsFilter":{
            "type":"structure",
            "members":{
                "FilterRules":{
                    "shape":"FilterRuleList",
                    "documentation":"<p/>",
                    "locationName":"FilterRule"
                }
            },
            "documentation":"<p>A container for object tags filtering rules.</p>"
        },
        "GetUsageStatsOutput": {
            "type": "structure",
            "members": {
                "Summary": {
                    "shape":"UsageStatsSummary",
                    "documentation": "<p/>"
                }
            }
        },
        "UsageStatsSummary": {
            "type": "structure",
            "members": {
                "TotalBytes":{"shape":"TotalBytes"},
                "TotalBytesRounded":{"shape":"TotalBytesRounded"},
                "TotalEntries":{"shape":"TotalEntries"}
            }
        },
        "TotalBytesRounded":{"type":"integer"},
        "TotalBytes":{"type":"integer"},
        "TotalEntries":{"type":"integer"},
        "MdCustomConfigInput":{
            "type":"structure",
            "required":[
                "Bucket"
            ],
            "members":{
                "Bucket":
                {
                    "shape":"BucketName",
                    "location":"uri",
                    "locationName":"Bucket"
                },
                "mdcustom":
                {
                    "shape":"MdCustom",
                    "location":"header",
                    "locationName":"x-amz-meta-search"
                }
            }
        },
        "MdCustomDelInput":{
            "type":"structure",
            "required":[
                "Bucket"
            ],
            "members":{
                "Bucket":
                    {
                        "shape":"BucketName",
                        "location":"uri",
                        "locationName":"Bucket"
                    }
            }
        },
        "GetMdCustomConfigInput":{
            "type":"structure",
            "required":[
                "Bucket"
            ],
            "members":{
                "Bucket":
                {
                    "shape":"BucketName",
                    "location":"uri",
                    "locationName":"Bucket"
                }
            }
        },
        "GetMdCustomConfigOutput": {
            "type":"structure",
            "members": {
                "Entry":{
                    "shape":"EntryList"
                }
            }
        },
        "EntryList":{
            "type":"list",
            "member":{
                "shape":"Entry"
            },
            "flattened":true
        },
        "Entry":{
            "type":"structure",
            "members":{
                "Key":{"shape":"EntryKey"},
                "Type":{"shape":"EntryType"}
            }
        },
        "EntryKey":{"type":"string"},
        "EntryType":{"type":"string"},
        "MdCustom":{"type":"string"},
        "intmarker":{"type":"integer"},
        "GetMetadataInput": {
            "type":"structure",
            "members": {
                "query":
                {
                    "shape":"query",
                    "location":"querystring",
                     "locationName":"query"
                },
                "wd":
                {
                     "shape":"word",
                     "location":"querystring",
                     "locationName":"wd"
                },
                "qmode":
                {
                     "shape":"qmode",
                     "location":"querystring",
                     "locationName":"qmode"
                },
                "qorder":
                {
                     "shape":"qorder",
                     "location":"querystring",
                     "locationName":"qorder"
                },
                "qorderkey":
                {
                     "shape":"qorderkey",
                     "location":"querystring",
                     "locationName":"qorderkey"
                },
                "max_keys":
                {
                    "shape":"MaxKeys",
                    "location":"querystring",
                    "locationName":"max-keys"
                },
                "marker":
                {
                     "shape":"intmarker",
                     "location":"querystring",
                     "locationName":"marker"
                }
            }
        },
        "GetMetadataOutput": {
            "type":"structure",
            "members": {
                "Marker":{"shape":"Marker"},
                "IsTruncated":{"shape":"IsTruncated"},
                "NextMarker":{"shape":"Marker"},
                "Objects":{"shape":"MdObject"},
                "Contents":{"shape":"Contents" }
            }
        },
        "MdObject":{
            "type":"structure",
            "members":{
                "Contents":
                {
                     "shape":"Contents"
                }
            }
        },
        "Contents":{
            "type":"list",
            "member":{
                "shape":"content"
            },
            "flattened":true
        },
        "content":{
            "type":"structure",
            "members":{
                "Bucket":{"shape":"BucketName"},
                "Key":{"shape":"ObjectKey"},
                "Instance":{"shape":"ObjectVersionId"},
                "VersionedEpoch":{"shape":"VersionedEpoch"},
                "LastModified":{"shape":"LastModified"},
                "Size":{"shape":"Size"},
                "ETag":{"shape":"ETag"},
                "ContentType":{"shape":"ContentType"},
                "StorageClass":{"shape":"StorageClass"},
                "Owner":{"shape":"Owner"},
                "CustomMetadata":{"shape":"CustomMetadata"}
            }
        },
        "AllowUnordered":{"type":"boolean"},
        "query":{"type":"string"},
        "word":{"type":"string"},
        "qmode":{"type":"string"},
        "qorder":{"type":"string"},
        "qorderkey":{"type":"string"},
        "VersionedEpoch":{"type":"integer"},
        "CustomMetadata": {
            "type":"structure",
            "members": {
                "Entry":{
                    "shape":"EntryList"
                }
            }
        },
        "GetHttpStatusRequest":{
            "type":"structure",
            "members":{
                "startdate":{
                    "shape":"Value",
                    "documentation":"<p>the date begin</p>",
                    "location":"uri",
                    "locationName":"startdate"
                },
                "enddate":{
                    "shape":"Value",
                    "documentation":"<p>the date end.</p>",
		            "location":"uri",
                    "locationName":"enddate"
                }
            }
        },
		"statuscode":{"type":"integer"},
        "totalcount":{"type":"integer"},
        "StatusContents": {
            "type":"structure",
            "members":{
                "statuscode":{"shape":"statuscode"},
                "totalcount":{"shape":"totalcount"}
            }
        },
        "GetHttpStatusOutput": {
            "type":"structure",
            "members": {
                "httpstatus_object":{"shape":"httpstatus_object" }
            }
        },
        "httpstatus_object": {
            "type":"list",
            "member": {
                "shape":"StatusContents"
            },
            "flattened":true
        }
        },
    "documentation":"<p/>"
}
}
