{
  "version": "2.0",
  "metadata": {
    "apiVersion": "2018-11-09",
    "endpointPrefix": "datasync",
    "jsonVersion": "1.1",
    "protocol": "json",
    "serviceAbbreviation": "DataSync",
    "serviceFullName": "AWS DataSync",
    "serviceId": "DataSync",
    "signatureVersion": "v4",
    "signingName": "datasync",
    "targetPrefix": "FmrsService",
    "uid": "datasync-2018-11-09"
  },
  "operations": {
    "CancelTaskExecution": {
      "input": {
        "type": "structure",
        "required": [
          "TaskExecutionArn"
        ],
        "members": {
          "TaskExecutionArn": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {}
      }
    },
    "CreateAgent": {
      "input": {
        "type": "structure",
        "required": [
          "ActivationKey"
        ],
        "members": {
          "ActivationKey": {},
          "AgentName": {},
          "Tags": {
            "shape": "S7"
          },
          "VpcEndpointId": {},
          "SubnetArns": {
            "shape": "Sb"
          },
          "SecurityGroupArns": {
            "shape": "Sd"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "AgentArn": {}
        }
      }
    },
    "CreateLocationEfs": {
      "input": {
        "type": "structure",
        "required": [
          "EfsFilesystemArn",
          "Ec2Config"
        ],
        "members": {
          "Subdirectory": {},
          "EfsFilesystemArn": {},
          "Ec2Config": {
            "shape": "Sk"
          },
          "Tags": {
            "shape": "S7"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "LocationArn": {}
        }
      }
    },
    "CreateLocationNfs": {
      "input": {
        "type": "structure",
        "required": [
          "Subdirectory",
          "ServerHostname",
          "OnPremConfig"
        ],
        "members": {
          "Subdirectory": {},
          "ServerHostname": {},
          "OnPremConfig": {
            "shape": "Sr"
          },
          "MountOptions": {
            "shape": "St"
          },
          "Tags": {
            "shape": "S7"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "LocationArn": {}
        }
      }
    },
    "CreateLocationS3": {
      "input": {
        "type": "structure",
        "required": [
          "S3BucketArn",
          "S3Config"
        ],
        "members": {
          "Subdirectory": {},
          "S3BucketArn": {},
          "S3StorageClass": {},
          "S3Config": {
            "shape": "Sz"
          },
          "Tags": {
            "shape": "S7"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "LocationArn": {}
        }
      }
    },
    "CreateLocationSmb": {
      "input": {
        "type": "structure",
        "required": [
          "Subdirectory",
          "ServerHostname",
          "User",
          "Password",
          "AgentArns"
        ],
        "members": {
          "Subdirectory": {},
          "ServerHostname": {},
          "User": {},
          "Domain": {},
          "Password": {},
          "AgentArns": {
            "shape": "Ss"
          },
          "MountOptions": {
            "shape": "S16"
          },
          "Tags": {
            "shape": "S7"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "LocationArn": {}
        }
      }
    },
    "CreateTask": {
      "input": {
        "type": "structure",
        "required": [
          "SourceLocationArn",
          "DestinationLocationArn"
        ],
        "members": {
          "SourceLocationArn": {},
          "DestinationLocationArn": {},
          "CloudWatchLogGroupArn": {},
          "Name": {},
          "Options": {
            "shape": "S1b"
          },
          "Excludes": {
            "shape": "S1n"
          },
          "Tags": {
            "shape": "S7"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "TaskArn": {}
        }
      }
    },
    "DeleteAgent": {
      "input": {
        "type": "structure",
        "required": [
          "AgentArn"
        ],
        "members": {
          "AgentArn": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {}
      }
    },
    "DeleteLocation": {
      "input": {
        "type": "structure",
        "required": [
          "LocationArn"
        ],
        "members": {
          "LocationArn": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {}
      }
    },
    "DeleteTask": {
      "input": {
        "type": "structure",
        "required": [
          "TaskArn"
        ],
        "members": {
          "TaskArn": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {}
      }
    },
    "DescribeAgent": {
      "input": {
        "type": "structure",
        "required": [
          "AgentArn"
        ],
        "members": {
          "AgentArn": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "AgentArn": {},
          "Name": {},
          "Status": {},
          "LastConnectionTime": {
            "type": "timestamp"
          },
          "CreationTime": {
            "type": "timestamp"
          },
          "EndpointType": {},
          "PrivateLinkConfig": {
            "type": "structure",
            "members": {
              "VpcEndpointId": {},
              "PrivateLinkEndpoint": {},
              "SubnetArns": {
                "shape": "Sb"
              },
              "SecurityGroupArns": {
                "shape": "Sd"
              }
            }
          }
        }
      }
    },
    "DescribeLocationEfs": {
      "input": {
        "type": "structure",
        "required": [
          "LocationArn"
        ],
        "members": {
          "LocationArn": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "LocationArn": {},
          "LocationUri": {},
          "Ec2Config": {
            "shape": "Sk"
          },
          "CreationTime": {
            "type": "timestamp"
          }
        }
      }
    },
    "DescribeLocationNfs": {
      "input": {
        "type": "structure",
        "required": [
          "LocationArn"
        ],
        "members": {
          "LocationArn": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "LocationArn": {},
          "LocationUri": {},
          "OnPremConfig": {
            "shape": "Sr"
          },
          "MountOptions": {
            "shape": "St"
          },
          "CreationTime": {
            "type": "timestamp"
          }
        }
      }
    },
    "DescribeLocationS3": {
      "input": {
        "type": "structure",
        "required": [
          "LocationArn"
        ],
        "members": {
          "LocationArn": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "LocationArn": {},
          "LocationUri": {},
          "S3StorageClass": {},
          "S3Config": {
            "shape": "Sz"
          },
          "CreationTime": {
            "type": "timestamp"
          }
        }
      }
    },
    "DescribeLocationSmb": {
      "input": {
        "type": "structure",
        "required": [
          "LocationArn"
        ],
        "members": {
          "LocationArn": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "LocationArn": {},
          "LocationUri": {},
          "AgentArns": {
            "shape": "Ss"
          },
          "User": {},
          "Domain": {},
          "MountOptions": {
            "shape": "S16"
          },
          "CreationTime": {
            "type": "timestamp"
          }
        }
      }
    },
    "DescribeTask": {
      "input": {
        "type": "structure",
        "required": [
          "TaskArn"
        ],
        "members": {
          "TaskArn": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "TaskArn": {},
          "Status": {},
          "Name": {},
          "CurrentTaskExecutionArn": {},
          "SourceLocationArn": {},
          "DestinationLocationArn": {},
          "CloudWatchLogGroupArn": {},
          "SourceNetworkInterfaceArns": {
            "type": "list",
            "member": {}
          },
          "DestinationNetworkInterfaceArns": {
            "type": "list",
            "member": {}
          },
          "Options": {
            "shape": "S1b"
          },
          "Excludes": {
            "shape": "S1n"
          },
          "ErrorCode": {},
          "ErrorDetail": {},
          "CreationTime": {
            "type": "timestamp"
          }
        }
      }
    },
    "DescribeTaskExecution": {
      "input": {
        "type": "structure",
        "required": [
          "TaskExecutionArn"
        ],
        "members": {
          "TaskExecutionArn": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "TaskExecutionArn": {},
          "Status": {},
          "Options": {
            "shape": "S1b"
          },
          "Excludes": {
            "shape": "S1n"
          },
          "Includes": {
            "shape": "S1n"
          },
          "StartTime": {
            "type": "timestamp"
          },
          "EstimatedFilesToTransfer": {
            "type": "long"
          },
          "EstimatedBytesToTransfer": {
            "type": "long"
          },
          "FilesTransferred": {
            "type": "long"
          },
          "BytesWritten": {
            "type": "long"
          },
          "BytesTransferred": {
            "type": "long"
          },
          "Result": {
            "type": "structure",
            "members": {
              "PrepareDuration": {
                "type": "long"
              },
              "PrepareStatus": {},
              "TransferDuration": {
                "type": "long"
              },
              "TransferStatus": {},
              "VerifyDuration": {
                "type": "long"
              },
              "VerifyStatus": {},
              "ErrorCode": {},
              "ErrorDetail": {}
            }
          }
        }
      }
    },
    "ListAgents": {
      "input": {
        "type": "structure",
        "members": {
          "MaxResults": {
            "type": "integer"
          },
          "NextToken": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "Agents": {
            "type": "list",
            "member": {
              "type": "structure",
              "members": {
                "AgentArn": {},
                "Name": {},
                "Status": {}
              }
            }
          },
          "NextToken": {}
        }
      }
    },
    "ListLocations": {
      "input": {
        "type": "structure",
        "members": {
          "MaxResults": {
            "type": "integer"
          },
          "NextToken": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "Locations": {
            "type": "list",
            "member": {
              "type": "structure",
              "members": {
                "LocationArn": {},
                "LocationUri": {}
              }
            }
          },
          "NextToken": {}
        }
      }
    },
    "ListTagsForResource": {
      "input": {
        "type": "structure",
        "required": [
          "ResourceArn"
        ],
        "members": {
          "ResourceArn": {},
          "MaxResults": {
            "type": "integer"
          },
          "NextToken": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "Tags": {
            "shape": "S7"
          },
          "NextToken": {}
        }
      }
    },
    "ListTaskExecutions": {
      "input": {
        "type": "structure",
        "members": {
          "TaskArn": {},
          "MaxResults": {
            "type": "integer"
          },
          "NextToken": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "TaskExecutions": {
            "type": "list",
            "member": {
              "type": "structure",
              "members": {
                "TaskExecutionArn": {},
                "Status": {}
              }
            }
          },
          "NextToken": {}
        }
      }
    },
    "ListTasks": {
      "input": {
        "type": "structure",
        "members": {
          "MaxResults": {
            "type": "integer"
          },
          "NextToken": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "Tasks": {
            "type": "list",
            "member": {
              "type": "structure",
              "members": {
                "TaskArn": {},
                "Status": {},
                "Name": {}
              }
            }
          },
          "NextToken": {}
        }
      }
    },
    "StartTaskExecution": {
      "input": {
        "type": "structure",
        "required": [
          "TaskArn"
        ],
        "members": {
          "TaskArn": {},
          "OverrideOptions": {
            "shape": "S1b"
          },
          "Includes": {
            "shape": "S1n"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "TaskExecutionArn": {}
        }
      }
    },
    "TagResource": {
      "input": {
        "type": "structure",
        "required": [
          "ResourceArn",
          "Tags"
        ],
        "members": {
          "ResourceArn": {},
          "Tags": {
            "shape": "S7"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {}
      }
    },
    "UntagResource": {
      "input": {
        "type": "structure",
        "required": [
          "ResourceArn",
          "Keys"
        ],
        "members": {
          "ResourceArn": {},
          "Keys": {
            "type": "list",
            "member": {}
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {}
      }
    },
    "UpdateAgent": {
      "input": {
        "type": "structure",
        "required": [
          "AgentArn"
        ],
        "members": {
          "AgentArn": {},
          "Name": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {}
      }
    },
    "UpdateTask": {
      "input": {
        "type": "structure",
        "required": [
          "TaskArn"
        ],
        "members": {
          "TaskArn": {},
          "Options": {
            "shape": "S1b"
          },
          "Excludes": {
            "shape": "S1n"
          },
          "Name": {},
          "CloudWatchLogGroupArn": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {}
      }
    }
  },
  "shapes": {
    "S7": {
      "type": "list",
      "member": {
        "type": "structure",
        "required": [
          "Key"
        ],
        "members": {
          "Key": {},
          "Value": {}
        }
      }
    },
    "Sb": {
      "type": "list",
      "member": {}
    },
    "Sd": {
      "type": "list",
      "member": {}
    },
    "Sk": {
      "type": "structure",
      "required": [
        "SubnetArn",
        "SecurityGroupArns"
      ],
      "members": {
        "SubnetArn": {},
        "SecurityGroupArns": {
          "type": "list",
          "member": {}
        }
      }
    },
    "Sr": {
      "type": "structure",
      "required": [
        "AgentArns"
      ],
      "members": {
        "AgentArns": {
          "shape": "Ss"
        }
      }
    },
    "Ss": {
      "type": "list",
      "member": {}
    },
    "St": {
      "type": "structure",
      "members": {
        "Version": {}
      }
    },
    "Sz": {
      "type": "structure",
      "required": [
        "BucketAccessRoleArn"
      ],
      "members": {
        "BucketAccessRoleArn": {}
      }
    },
    "S16": {
      "type": "structure",
      "members": {
        "Version": {}
      }
    },
    "S1b": {
      "type": "structure",
      "members": {
        "VerifyMode": {},
        "OverwriteMode": {},
        "Atime": {},
        "Mtime": {},
        "Uid": {},
        "Gid": {},
        "PreserveDeletedFiles": {},
        "PreserveDevices": {},
        "PosixPermissions": {},
        "BytesPerSecond": {
          "type": "long"
        },
        "TaskQueueing": {}
      }
    },
    "S1n": {
      "type": "list",
      "member": {
        "type": "structure",
        "members": {
          "FilterType": {},
          "Value": {}
        }
      }
    }
  }
}