1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- /**
- * Sets model overrides for S3 ExpiresString.
- */
- module.exports = function setS3ExpiresString(model) {
- if (model.metadata.serviceId === 'S3') {
- var newShapes = {};
- for (var shapeId in model.shapes) {
- newShapes[shapeId] = model.shapes[shapeId];
- if (shapeId === 'Expires') {
- // preserve timestamp type for Expires.
- newShapes[shapeId] = {};
- newShapes[shapeId].type = 'timestamp';
- // add ExpiresString
- newShapes['ExpiresString'] = {
- type: 'string'
- };
- }
- }
- model.shapes = newShapes;
- for (var operationKey in model.operations) {
- var op = model.operations[operationKey];
- if (!op.output || !op.output.shape) {
- continue;
- }
- var output = model.shapes[op.output.shape];
- if (!output || !output.members) {
- continue;
- }
- if ('Expires' in output.members) {
- var newMembers = {};
- for (var memberKey in output.members) {
- newMembers[memberKey] = output.members[memberKey];
- if (memberKey === 'Expires') {
- newMembers['ExpiresString'] = Object.assign({}, newMembers[memberKey], {
- 'shape': 'ExpiresString',
- 'location': 'header',
- 'locationName': 'ExpiresString'
- });
- newMembers[memberKey].deprecated = true;
- newMembers[memberKey].documentation = 'Deprecated in favor of ExpiresString.';
- }
- }
- output.members = newMembers;
- }
- }
- return true;
- }
- return false;
- };
|